KernelScan.io

HIGH Introduced in 3.2

rapidio Doorbell Deref

CVE-2026-80645

CVSS 8.1 / 10.0 NVD

CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H

KernelScan AI6.8MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: rapidio/tsi721: prevent a bad dereference in tsi721_db_dpc() With a list_for_each() 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.

02

Engine v0.6.0

Risk summary

A logic error in the Tsi721 RapidIO bridge driver causes it to dereference an invalid pointer when processing doorbell messages, potentially corrupting kernel memory or crashing the system. An attacker needs physical access to the RapidIO fabric and the TSI721 hardware must be present. Systems in sealed enclosures without exposed RapidIO ports are not at risk.

Affecteddrivers/rapidio/devices/tsi721.c (RapidIO Tsi721 bridge driver)

Vulnerability analysis

The Tsi721 RapidIO bridge driver processes incoming doorbell messages by searching a list of registered doorbell handlers. A flag tracking whether a matching handler was found is not reset between iterations, so after the first successful match every subsequent doorbell is incorrectly treated as found. When no matching handler exists, the list iterator ends up pointing to the list head rather than a valid handler object, and the code dereferences it as if it were valid, causing type confusion and potential kernel memory corruption. The fix resets the found flag to false at the start of each loop iteration so only genuine matches are processed. This vulnerability is reachable only from the RapidIO fabric — an attacker must have physical access to the RapidIO interconnect to send doorbell messages, and the target system must have TSI721 bridge hardware present and the driver loaded.

03

BranchIntroducedFixed inPatch commit
6.13.26.1.17813092966ba5d
6.123.26.12.973b5c66e922aa
6.183.26.18.40070f356ea4f4
5.103.25.10.2619e775c319990
6.63.26.6.145acd54f42abbb
mainline3.27.2fc15e3a30ddd
5.153.25.15.21281c06ef66c3a
7.13.27.1.5dc28a14f3e45
cip/4.193.24.19.325-cip136ca342c7d1b24
cip/4.19-rt3.24.19.325-cip136-rt50ca342c7d1b24
cip/4.43.24.4.302-cip115928954e3ec8e
cip/4.4-rt3.24.4.302-cip115-rt63928954e3ec8e
cip/5.103.25.10.263-cip769e775c319990
cip/5.10-rt3.25.10.268-cip77-rt349e775c319990
cip/6.13.26.1.182-cip5913092966ba5d
cip/6.1-rt3.26.1.182-cip59-rt3113092966ba5d
cip/6.123.26.12.101-cip293b5c66e922aa