CVE-2026-80645: rapidio/tsi721: prevent a bad dereference in tsi721_db_dpc()
In the Linux kernel, the following vulnerability has been resolved:
rapidio/tsi721: prevent a bad dereference in tsi721dbdpc()
With a listforeach() loop, if we don't find the item we are looking for in the list, then the loop exits with the iterator, which is "dbell" in this loop, pointing to invalid memory.
This code uses the "found" variable to determine if we have found the doorbell we are looking for or not. However, the problem that the "found" variable needs to be set to false at the start of each iteration, otherwise after the first correct doorbell, then everything is marked as found.
Reset the "found" to false at the start of the iteration and move the variable inside the loop.
Affected Software
Event History
Frequently Asked Questions
What condition triggers the invalid dereference?
The issue occurs when tsi721_db_dpc() processes doorbells after a previously matched doorbell has left the shared "found" state set. A later list search that does not find its target can then treat the lookup as successful and use the list iterator after it has reached invalid memory.
What is the relevant mitigation if the fix is not yet deployed?
The supplied data identifies the defect in the RapidIO TSI721 doorbell-processing path. No configuration workaround or operational mitigation is provided; remediation consists of applying a kernel version containing the referenced fix.