CVE-2026-80990: net: thunderbolt: Release the Rx HopID that was handed out on mismatch
In the Linux kernel, the following vulnerability has been resolved:
net: thunderbolt: Release the Rx HopID that was handed out on mismatch
tbxdomainallocinhopid() passes the wanted HopID to idaallocrange() as the lower bound, so a taken id is not an error there: the allocator returns the next free one above it. tbnetconnectedwork() asks for the peer's transmit path, treats any other id as a failure and returns without releasing what it got, so that allocation stays live for the rest of the XDomain connection with nothing left holding a reference to it.
Release the id when it is not the one we asked for, the same way the error unwind at the end of the function releases the expected one.
Affected Software
Event History
Frequently Asked Questions
Under what condition does the resource leak occur?
It occurs when the requested peer transmit-path HopID is already taken. The allocator then returns the next available HopID, but the connection setup treats that different ID as a failure.
What is the effect of a failed HopID match?
The unexpectedly allocated receive HopID remains allocated for the remainder of the XDomain connection, even though no reference retains it. The fix releases that ID before returning from the mismatch path.