{"id":"CVE-2026-97573","published":"2026-09-25T11:17:08.017","lastModified":"2026-09-25T15:17:59.440","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbnxt_en: Handle buffer allocation failure in bnxt_rx_ring_reset()\n\nbnxt_rx_ring_reset() frees the ring buffers and then reallocates them,\nignoring the result.\n\nbnxt_alloc_one_rx_ring() can fail in bnxt_alloc_one_tpa_info_data(), which\nreturns -ENOMEM on the first failed allocation and leaves the remaining\nrxr->rx_tpa[] entries zeroed.\n\nThe error isn't propagated up, so the loop in bnxt_rx_ring_reset\ncontinues and at the end the code re-enables TPA with partially\nunallocated rx_tpa array.\n\nThis means that when the agg_id from hardware is mapped to a SW index in\nrxr->rx_tpa[], an uninitialized slot can be chosen which would hand a\nzero DMA address to the device.\n\nFix this by falling back to a global reset, which is what the existing\ncode already does when other functions fail, but unlike the other\nfailure cases this particular failure has to return because TPA can't\nbe re-enabled since the allocation failed.","cvssScore":8.1,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","cwes":[],"vendors":[],"products":[],"references":[{"url":"https://git.kernel.org/stable/c/1a3670b6a6b5679fe56c5890157b344f091e64f8","tags":[]},{"url":"https://git.kernel.org/stable/c/4a17c73c83798c2fa9c7920ad5a98803adce3e01","tags":[]},{"url":"https://git.kernel.org/stable/c/8b2fd5c0aeda935294159206af9d6179282d425a","tags":[]},{"url":"https://git.kernel.org/stable/c/961e2a17c5e3559b3f8654d2daabdd25a42e770a","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":null}