CVEvulnerability
CVE-2026-90124
- Status
- Received
- Published
- 2026-09-17
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
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.
References
- https://git.kernel.org/stable/c/3791e242ec2e5a5cd9e010a75ed1125d0e84d394 git.kernel.org
- https://git.kernel.org/stable/c/38c6831fefde0ff89f8d2dcb924f957a89dec414 git.kernel.org
- https://git.kernel.org/stable/c/50b10bd0c2d721ad38abd1abe3acdefb6caa0944 git.kernel.org
- https://git.kernel.org/stable/c/b5ba8b861b5d833394bd23df3f4b59883ef18c88 git.kernel.org
- https://git.kernel.org/stable/c/c043591f03a8111f7d306b8122c444a949486269 git.kernel.org
- https://git.kernel.org/stable/c/dbecbe23dc606c4af68b4591a41124186f5c1802 git.kernel.org