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.
https://git.kernel.org/stable/c/dfd73af81cdb9f7b399754a59e2658a08211bee5
https://git.kernel.org/stable/c/daadccd062fdca5e77a8cc22ffe35857803b6c49
https://git.kernel.org/stable/c/b4c40f2c80d7bf50648878bc206a39adfbfaec6c
https://git.kernel.org/stable/c/8e6a850c0746bb4be167aedf1ee57469fcda09a9