Description
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 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
0997443906b96a051011f220a61e6dce4602ec54 to < d7db2e4953e4626339fd0075564a3e447650d37baffectedbd649c5cc958169b8a8a3e77ea926d92d472b02a to < c8050386a2209b2a474c1eb4bd1574dc19129bfbaffectedbd649c5cc958169b8a8a3e77ea926d92d472b02a to < 37e08dc821a57fe0592c917486b638caa888b46daffectedbd649c5cc958169b8a8a3e77ea926d92d472b02a to < b814dfbfeb0a68c9a52073f2caa05a2d5247a329affected6.12.20 to < 6.12.112affected
Linux Linux
Default version status: affected
6.13affected0 to < 6.13unaffected6.12.112 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected