CVE-2026-90124 PUBLISHED

irqchip/renesas-rzg2l: Fix loss of interrupt

Assigner: Linux
Reserved: 11.09.2026 Published: 17.09.2026 Updated: 17.09.2026

In the Linux kernel, the following vulnerability has been resolved:

irqchip/renesas-rzg2l: Fix loss of interrupt

rzg2l_clear_irq_int() and rzg2l_clear_tint_int() perform a read-modify-write on the ISCR/TSCR status registers to clear the bit for the interrupt just handled. Since these registers are write-0-to-clear per bit, this is racy:

If another interrupt's status bit gets set between the read and the write, that bit is written back as 0 by the software-constructed value, clearing an interrupt that hasn't been serviced yet and losing it.

This can be reproduced by triggering multiple interrupts at once, e.g.:

gpioset -c gpiochip0 355=0 353=0 328=0 352=0

Fix this by writing back only the bit being cleared, with all other bits set to 1, instead of read-modify-writing the whole register. Since 1-bits are left unchanged by hardware, concurrently-set status bits for other interrupts are preserved.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 3fed09559cd8be79568d368ce02bf7f2d56259b6 to c043591f03a8111f7d306b8122c444a949486269 (excl.)
  • affected from 3fed09559cd8be79568d368ce02bf7f2d56259b6 to b5ba8b861b5d833394bd23df3f4b59883ef18c88 (excl.)
  • affected from 3fed09559cd8be79568d368ce02bf7f2d56259b6 to 3791e242ec2e5a5cd9e010a75ed1125d0e84d394 (excl.)
  • affected from 3fed09559cd8be79568d368ce02bf7f2d56259b6 to 38c6831fefde0ff89f8d2dcb924f957a89dec414 (excl.)
  • affected from 3fed09559cd8be79568d368ce02bf7f2d56259b6 to dbecbe23dc606c4af68b4591a41124186f5c1802 (excl.)
  • affected from 3fed09559cd8be79568d368ce02bf7f2d56259b6 to 50b10bd0c2d721ad38abd1abe3acdefb6caa0944 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.0 is affected
  • unaffected from 0 to 6.0 (excl.)
  • unaffected from 6.1.188 to 6.1.* (incl.)
  • unaffected from 6.6.157 to 6.6.* (incl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References