i3c: mipi-i3c-hci: Correct RING_CTRL_ABORT handling in DMA dequeue
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.114, 6.18.19, 6.19.9
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: i3c: mipi-i3c-hci: Correct RING_CTRL_ABORT handling in DMA dequeue The logic used to abort the DMA ring contains several flaws: 1. The driver unconditionally issues a ring abort even when the ring has already stopped. 2. The completion used to wait for abort completion is never re-initialized, resulting in incorrect wait behavior. 3. The abort sequence unintentionally clears RING_CTRL_ENABLE, which resets hardware ring pointers and disrupts the controller state. 4. If the ring is already stopped, the abort operation should be considered successful without attempting further action. Fix the abort handling by checking whether the ring is running before issuing an abort, re-initializing the completion when needed, ensuring that RING_CTRL_ENABLE remains asserted during abort, and treating an already stopped ring as a successful condition.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 9ad9a52cce2828d932ae9495181e3d6414f72c07 · fixed in 04b2853fdbb2ec9d03ece45da3c830396647120f; From 9ad9a52cce2828d932ae9495181e3d6414f72c07 · fixed in 55a0b47a372245f7667e0a4ba5c6f2a4c7a889a6; From 9ad9a52cce2828d932ae9495181e3d6414f72c07 · fixed in 003df94bcc9227e8e930abd03ac7f63ac10033dc; From 9ad9a52cce2828d932ae9495181e3d6414f72c07 · fixed in 5549611888f5ca2db5e8e692b57f30626ddf9898; From 9ad9a52cce2828d932ae9495181e3d6414f72c07 · fixed in b795e68bf3073d67bebbb5a44d93f49efc5b8cc7
- Linux Linux
5.11
- KernelLinux
From 5.11.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.19; From 6.19.0 · fixed in 6.19.9