HIGH
bnxt RSS Context Leak
CVE-2026-43260
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI5.5MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix RSS context delete logic We need to free the corresponding RSS context VNIC in FW everytime an RSS context is deleted in driver. Commit 667ac333dbb7 added a check to delete the VNIC in FW only when netif_running() is true to help delete RSS contexts with interface down. Having that condition will make the driver leak VNICs in FW whenever close() happens with active RSS contexts. On the subsequent open(), as part of RSS context restoration, we will end up trying to create extra VNICs for which we did not make any reservation. FW can fail this request, thereby making us lose active RSS contexts. Suppose an RSS context is deleted already and we try to process a delete request again, then the HWRM functions will check for validity of the request and they simply return if the resource is already freed. So, even for delete-when-down cases, netif_running() check is not necessary. Remove the netif_running() condition check when deleting an RSS context.
02KernelScan AI Analysis
Risk summary
Systems using Broadcom NetXtreme network adapters with RSS contexts can experience firmware resource exhaustion when network interfaces are brought down and up repeatedly. This leads to loss of RSS functionality and potential network performance degradation or complete interface failure.
Vulnerability analysis
The vulnerability stems from improper resource management in the bnxt_en driver's RSS context deletion logic. The original code added a netif_running() check that prevented firmware VNIC cleanup when the interface was down, causing VNICs to leak in firmware memory during interface close operations. When the interface is subsequently reopened, RSS context restoration attempts to create new VNICs without proper reservation, leading to firmware allocation failures. The fix removes the netif_running() condition, ensuring VNICs are always freed in firmware regardless of interface state, since the firmware's HWRM functions already handle duplicate deletion requests safely.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 6.12 | 6.12.75 | 348a5f8d06c7 |
| 6.18 | 6.18.16 | 079986d6db1f |
| 6.19 | 6.19.6 | 9a9b89eea4a9 |
| mainline | 7.0 | e123d9302d22 |