CVE-2026-80988: NTB: ntb_transport: Fail TX enqueue when the QP link is down
In the Linux kernel, the following vulnerability has been resolved:
NTB: ntbtransport: Fail TX enqueue when the QP link is down
Commit f195a1a6fe41 ("ntb: Drop packets when qp link is down") meant to make ntbtransporttxenqueue() drop packets submitted while the QP link is down, but it only returns 0 without consuming the packet. Zero means success by this function's contract, so ntbnetdev reports NETDEVTXOK and forgets the skb: nothing queued it, nothing frees it, and it leaks, one skb for every transmit racing a link-down.
Return -ENOLINK instead, restoring the contract that a non-zero return leaves the buffer owned by the caller. With the preceding patch, ntbnetdev frees the skb on non-retryable enqueue failures and returns NETDEVTXOK, so a packet racing with link-down is dropped without leaking or entering a busy retry loop.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch f195a1a6fe41
Event History
Frequently Asked Questions
When can this cause a memory leak?
The leak occurs when packets are transmitted while the NTB transport queue-pair link is down. It specifically affects transmissions that race with a link-down condition, leaking one skb for each such packet.
What behavior indicates that a system may be affected?
Affected systems can accumulate leaked skb buffers during NTB link-down events while traffic continues to be sent. The packets are reported as successfully transmitted to the network stack even though they were neither queued nor freed.
What is the corrected behavior?
The corrected code returns -ENOLINK when transmission is attempted with the queue-pair link down. This leaves buffer ownership with the caller, allowing ntb_netdev to free the skb, drop the packet, and avoid a busy retry loop.