CVE-2026-97571
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
bnxt_en: Propagate TPA buffer allocation failures in bnxt_queue_mem_alloc()
bnxt_alloc_one_tpa_info_data() returns -ENOMEM as soon as one allocation fails. This leaves the remaining rxr->rx_tpa[] entries zeroed.
bnxt_queue_mem_alloc() discards that return value, so the partially initialized ring is installed by bnxt_queue_start().
Since the agg_id is picked by the hardware and bnxt_alloc_agg_idx maps it to a SW index in rxr->rx_tpa[], it is possible that an uninitialized slot can be chosen which would hand a zero DMA address to the device.
Fix this by checking the return value of bnxt_alloc_one_tpa_info_data and unwinding, freeing the ring buffers.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | bd649c5cc958169b8a8a3e77ea926d92d472b02a < c8050386a2209b2a474c1eb4bd1574dc19129bfb | affected |
| Linux | Linux | bd649c5cc958169b8a8a3e77ea926d92d472b02a < 37e08dc821a57fe0592c917486b638caa888b46d | affected |
| Linux | Linux | bd649c5cc958169b8a8a3e77ea926d92d472b02a < b814dfbfeb0a68c9a52073f2caa05a2d5247a329 | affected |
| Linux | Linux | 0997443906b96a051011f220a61e6dce4602ec54 | affected |
| Linux | Linux | 6.12.20 < 6.13 | affected |
| Linux | Linux | 6.13 | affected |
| Linux | Linux | 0 < 6.13 | unaffected |
| Linux | Linux | 6.18.53 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.7 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc3 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/c8050386a2209b2a474c1eb4bd1574dc19129bfb
- https://git.kernel.org/stable/c/37e08dc821a57fe0592c917486b638caa888b46d
- https://git.kernel.org/stable/c/b814dfbfeb0a68c9a52073f2caa05a2d5247a329
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.