Linux Kernel bnxt_en Driver Error Handling Vulnerability in Work Initialization

Vulnerability

A vulnerability in the Linux kernel's bnxt_en driver has been addressed, related to improper error handling in the chip initialization process. When bnxt_init_chip() fails, it triggers a warning because the function __flush_work() is called on work that has not been properly initialized. This issue arises because the driver checks the BNXT_STATE_NAPI_DISABLED bit to determine if the work can be canceled, but this bit is not set during the bnxt_open() process. As a result, the error handling path mistakenly attempts to cancel uninitialized work. The vulnerability has been fixed by ensuring that the BNXT_STATE_NAPI_DISABLED bit is set during initialization, allowing for proper management of the work synchronization process.

Impact

The vulnerability could lead to incorrect work handling, where the system attempts to cancel work that has not been initialized, potentially causing synchronization issues or other unintended behavior in the driver.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
5.3
remediation
0.0
relevance
0.0
threat
3.2
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.