Skip to main content
← All vulnerabilities
CVE-2026-97572

bnxt_en: Propagate RX ring init failures in bnxt_init_nic()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Propagate RX ring init failures in bnxt_init_nic() bnxt_init_rx_rings() returns an error when bnxt_alloc_one_rx_ring() fails, but bnxt_init_nic() discards that return value and calls bnxt_init_chip(), which enables TPA. If an allocation fails, this could leave rxr->rx_tpa[] partially zeroed and TPA would be enabled over an array with zeroed entries. This would lead to a zeroed DMA address being handed out if the agg_idx is translated to a SW index at a zeroed entry. Fix this by propagating the error out of bnxt_init_nic(). Both callers already check its return value and unwind with bnxt_free_skbs() and bnxt_free_mem(), which tolerate a partially initialized RX ring.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in e40641638743b4b848d5ed78a0565afffc359d8e; From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in 6b24eca42619b93f69aebc2aa0a9fd28ac9a5085; From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in 1f2d333ae2e1a73b7cc1c2a627587024cd147c01; From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in c3eb07e78e628243cbb9bbb0115db802fb7a303f; From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in daadccd062fdca5e77a8cc22ffe35857803b6c49; From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in b4c40f2c80d7bf50648878bc206a39adfbfaec6c; From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in dfd73af81cdb9f7b399754a59e2658a08211bee5; From c0c050c58d840994ba842ad1c338a98e7c12b764 · fixed in 8e6a850c0746bb4be167aedf1ee57469fcda09a9

  • Linux Linux

    4.4

  • KernelLinux

    From 4.4.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7

References 8

git.kernel.org