CVE-2025-68746
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
spi: tegra210-quad: Fix timeout handling
When the CPU that the QSPI interrupt handler runs on (typically CPU 0) is excessively busy, it can lead to rare cases of the IRQ thread not running before the transfer timeout is reached.
While handling the timeouts, any pending transfers are cleaned up and the message that they correspond to is marked as failed, which leaves the curr_xfer field pointing at stale memory.
To avoid this, clear curr_xfer to NULL upon timeout and check for this condition when the IRQ thread is finally run.
While at it, also make sure to clear interrupts on failure so that new interrupts can be run.
A better, more involved, fix would move the interrupt clearing into a hard IRQ handler. Ideally we would also want to signal that the IRQ thread no longer needs to be run after the timeout is hit to avoid the extra check for a valid transfer.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 921fc1838fb036f690b8ba52e6a6d3644b475cbb < 88db8bb7ed1bb474618acdf05ebd4f0758d244e2 | affected |
| Linux | Linux | 921fc1838fb036f690b8ba52e6a6d3644b475cbb < 83309dd551cfd60a5a1a98d9cab19f435b44d46d | affected |
| Linux | Linux | 921fc1838fb036f690b8ba52e6a6d3644b475cbb < c934e40246da2c5726d14e94719c514e30840df8 | affected |
| Linux | Linux | 921fc1838fb036f690b8ba52e6a6d3644b475cbb < 551060efb156c50fe33799038ba8145418cfdeef | affected |
| Linux | Linux | 921fc1838fb036f690b8ba52e6a6d3644b475cbb < bb0c58be84f907285af45657c1d4847b960a12bf | affected |
| Linux | Linux | 921fc1838fb036f690b8ba52e6a6d3644b475cbb < 01bbf25c767219b14c3235bfa85906b8d2cb8fbc | affected |
| Linux | Linux | 921fc1838fb036f690b8ba52e6a6d3644b475cbb < b4e002d8a7cee3b1d70efad0e222567f92a73000 | affected |
| Linux | Linux | 5.12 | affected |
| Linux | Linux | 0 < 5.12 | unaffected |
| Linux | Linux | 5.15.198 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.160 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.120 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.63 <= 6.12.* | unaffected |
| Linux | Linux | 6.17.13 <= 6.17.* | unaffected |
| Linux | Linux | 6.18.2 <= 6.18.* | unaffected |
| Linux | Linux | 6.19 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/88db8bb7ed1bb474618acdf05ebd4f0758d244e2
- https://git.kernel.org/stable/c/83309dd551cfd60a5a1a98d9cab19f435b44d46d
- https://git.kernel.org/stable/c/c934e40246da2c5726d14e94719c514e30840df8
- https://git.kernel.org/stable/c/551060efb156c50fe33799038ba8145418cfdeef
- https://git.kernel.org/stable/c/bb0c58be84f907285af45657c1d4847b960a12bf
- https://git.kernel.org/stable/c/01bbf25c767219b14c3235bfa85906b8d2cb8fbc
- https://git.kernel.org/stable/c/b4e002d8a7cee3b1d70efad0e222567f92a73000
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.