CVE-2026-80998

Summary

In the Linux kernel, the following vulnerability has been resolved:

net: bnxt: ring the doorbell when SW USO exits early

When a burst of packets is handed down to the driver, the driver defers the doorbell to the end by setting txr->kick_pending = 1. The normal TX path handles this, but the SW USO path can miss it if it returns early.

If bnxt_sw_udp_gso_xmit runs but returns early with NETDEV_TX_BUSY and txr->kick_pending was previously set to 1, then the TX queue can stall because the driver wrote some BDs but never wrote the doorbell. The device won't know to do the TX which would generate the completion that would wake the queue back up.

Simplify bnxt_sw_udp_gso_xmit to set txr->kick_pending in its success case and check the flag on return. The added check after bnxt_sw_udp_gso_xmit returns ensures that any pending doorbells are written handling both successful USO and any early returns, which prevents the TX queue stall mentioned above.

This TX queue stall was observed on a production system with a netdev TX watchdog informing about the queue stall.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxcc5d90667db81474ed7a92a1b2fa3daec5559307 < 48d1c9665db6e3d4aeca62eb669377162ebc6fdfaffected
LinuxLinuxcc5d90667db81474ed7a92a1b2fa3daec5559307 < 4e15e89faac9f308baeb01f46c13a051814d2449affected
LinuxLinux7.1affected
LinuxLinux0 < 7.1unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References