Skip to main content
← All vulnerabilities
CVE-2026-97515

i3c: master: svc: Prevent IRQ storm from false SLVSTART on NPCM845

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.12.114, 5.16, 6.2, 6.7, 6.15, and 1 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: i3c: master: svc: Prevent IRQ storm from false SLVSTART on NPCM845 On NPCM845, when a target on the I3C bus gets stuck holding SDA low, the controller reports a false Master Request (MR) in-band interrupt event. The driver handles this by emitting a STOP condition to restore the bus. However, the hardware quirk SVC_I3C_QUIRK_FALSE_SLVSTART indicates that emitting a STOP condition may spuriously set the SLVSTART interrupt status bit. In the Master Request case, this creates a feedback loop: the STOP triggers a new SLVSTART event, the IRQ handler fires again, the controller still reports an MR type, another STOP is emitted, and the cycle repeats indefinitely, resulting in an IRQ storm that can lock up the CPU. Clear the SLVSTART status bit explicitly after emitting the STOP in the Master Request IBI handler when the SVC_I3C_QUIRK_FALSE_SLVSTART quirk is set. This breaks the feedback loop without affecting normal SLVSTART processing, which is already guarded in the top-level IRQ handler by checking that MSTATUS is in SLVREQ state.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 1ea4653cff35c29d1dd0b14ad9c8245e7318f337 · fixed in 335f72b1f9bbcf0f4cc5a505443b15f1af563b4f; From 0430bf9bc1ac068c8b8c540eb93e5751872efc51 · fixed in e9b139c4684ed8593a0b779ca02ea05f460b2eec; From 0430bf9bc1ac068c8b8c540eb93e5751872efc51 · fixed in 1effa3adfe53cb2bb28bf5640a676b791d5ab405; From 6.12.31 · fixed in 6.12.114; From 5.15.185 · fixed in 5.16; From 6.1.141 · fixed in 6.2; From 6.6.93 · fixed in 6.7; From 6.14.9 · fixed in 6.15

  • Linux Linux

    6.15

  • KernelLinux

    fixed in 6.12.114; From 6.13.0 · fixed in 6.18.53

References 3

git.kernel.org