CVE-2026-23041
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
04/02/2026
Last modified:
04/02/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
bnxt_en: Fix NULL pointer crash in bnxt_ptp_enable during error cleanup<br />
<br />
When bnxt_init_one() fails during initialization (e.g.,<br />
bnxt_init_int_mode returns -ENODEV), the error path calls<br />
bnxt_free_hwrm_resources() which destroys the DMA pool and sets<br />
bp->hwrm_dma_pool to NULL. Subsequently, bnxt_ptp_clear() is called,<br />
which invokes ptp_clock_unregister().<br />
<br />
Since commit a60fc3294a37 ("ptp: rework ptp_clock_unregister() to<br />
disable events"), ptp_clock_unregister() now calls<br />
ptp_disable_all_events(), which in turn invokes the driver&#39;s .enable()<br />
callback (bnxt_ptp_enable()) to disable PTP events before completing the<br />
unregistration.<br />
<br />
bnxt_ptp_enable() attempts to send HWRM commands via bnxt_ptp_cfg_pin()<br />
and bnxt_ptp_cfg_event(), both of which call hwrm_req_init(). This<br />
function tries to allocate from bp->hwrm_dma_pool, causing a NULL<br />
pointer dereference:<br />
<br />
bnxt_en 0000:01:00.0 (unnamed net_device) (uninitialized): bnxt_init_int_mode err: ffffffed<br />
KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]<br />
Call Trace:<br />
__hwrm_req_init (drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c:72)<br />
bnxt_ptp_enable (drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:323 drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:517)<br />
ptp_disable_all_events (drivers/ptp/ptp_chardev.c:66)<br />
ptp_clock_unregister (drivers/ptp/ptp_clock.c:518)<br />
bnxt_ptp_clear (drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:1134)<br />
bnxt_init_one (drivers/net/ethernet/broadcom/bnxt/bnxt.c:16889)<br />
<br />
Lines are against commit f8f9c1f4d0c7 ("Linux 6.19-rc3")<br />
<br />
Fix this by clearing and unregistering ptp (bnxt_ptp_clear()) before<br />
freeing HWRM resources.



