CVE-2025-37895

Summary

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

bnxt_en: Fix error handling path in bnxt_init_chip()

WARN_ON() is triggered in __flush_work() if bnxt_init_chip() fails because we call cancel_work_sync() on dim work that has not been initialized.

WARNING: CPU: 37 PID: 5223 at kernel/workqueue.c:4201 __flush_work.isra.0+0x212/0x230

The driver relies on the BNXT_STATE_NAPI_DISABLED bit to check if dim work has already been cancelled. But in the bnxt_open() path, BNXT_STATE_NAPI_DISABLED is not set and this causes the error path to think that it needs to cancel the uninitalized dim work. Fix it by setting BNXT_STATE_NAPI_DISABLED during initialization. The bit will be cleared when we enable NAPI and initialize dim work.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf697217f980ffc796c72c34dbf7d59a6b1996888 < e039b00ddbfeaa0dc59b8659be114f1a1b37c5bfaffected
LinuxLinux40452969a50652e3cbf89dac83d54eebf2206d27 < 21116727f452474502ee74f956d5e7466103e19baffected
LinuxLinux40452969a50652e3cbf89dac83d54eebf2206d27 < 9ab7a709c926c16b4433cf02d04fcbcf35aaab2baffected
LinuxLinux6.12.10 < 6.12.28affected
LinuxLinux6.13affected
LinuxLinux0 < 6.13unaffected
LinuxLinux6.12.28 <= 6.12.*unaffected
LinuxLinux6.14.6 <= 6.14.*unaffected
LinuxLinux6.15 <= *unaffected

Weaknesses

References