Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
c0c050c58d840994ba842ad1c338a98e7c12b764 to < e40641638743b4b848d5ed78a0565afffc359d8eaffectedc0c050c58d840994ba842ad1c338a98e7c12b764 to < 6b24eca42619b93f69aebc2aa0a9fd28ac9a5085affectedc0c050c58d840994ba842ad1c338a98e7c12b764 to < 1f2d333ae2e1a73b7cc1c2a627587024cd147c01affectedc0c050c58d840994ba842ad1c338a98e7c12b764 to < c3eb07e78e628243cbb9bbb0115db802fb7a303faffectedc0c050c58d840994ba842ad1c338a98e7c12b764 to < daadccd062fdca5e77a8cc22ffe35857803b6c49affectedc0c050c58d840994ba842ad1c338a98e7c12b764 to < b4c40f2c80d7bf50648878bc206a39adfbfaec6caffectedc0c050c58d840994ba842ad1c338a98e7c12b764 to < dfd73af81cdb9f7b399754a59e2658a08211bee5affectedc0c050c58d840994ba842ad1c338a98e7c12b764 to < 8e6a850c0746bb4be167aedf1ee57469fcda09a9affected
Linux Linux
Default version status: affected
4.4affected0 to < 4.4unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e40641638743b4b848d5ed78a0565afffc359d8e ↗
- https://git.kernel.org/stable/c/6b24eca42619b93f69aebc2aa0a9fd28ac9a5085 ↗
- https://git.kernel.org/stable/c/1f2d333ae2e1a73b7cc1c2a627587024cd147c01 ↗
- https://git.kernel.org/stable/c/c3eb07e78e628243cbb9bbb0115db802fb7a303f ↗
- https://git.kernel.org/stable/c/daadccd062fdca5e77a8cc22ffe35857803b6c49 ↗
- https://git.kernel.org/stable/c/b4c40f2c80d7bf50648878bc206a39adfbfaec6c ↗
- https://git.kernel.org/stable/c/dfd73af81cdb9f7b399754a59e2658a08211bee5 ↗
- https://git.kernel.org/stable/c/8e6a850c0746bb4be167aedf1ee57469fcda09a9 ↗