Description
In the Linux kernel, the following vulnerability has been resolved: net: airoha: Move ndesc initialization at end of airoha_qdma_init_rx_queue() If queue entry or DMA descriptor list allocation fails in airoha_qdma_init_rx_queue routine, airoha_qdma_cleanup() will trigger a NULL pointer dereference running netif_napi_del() for RX queue NAPIs since netif_napi_add() has never been executed to this particular RX NAPI. The issue is due to the early ndesc initialization in airoha_qdma_init_rx_queue() since airoha_qdma_cleanup() relies on ndesc value to check if the queue is properly initialized. Fix the issue moving ndesc initialization at end of airoha_qdma_init_tx routine. Move page_pool allocation after descriptor list allocation in order to avoid memory leaks if desc allocation fails.
Affected products
- Linux / Linux23020f04932701d5c8363e60756f12b43b8ed752 – d36be272adda7f313e39dd118086955d993bf6a7
- Linux / Linux23020f04932701d5c8363e60756f12b43b8ed752 – 4d4acfa348a1d8c0941004823662ede0fdb5dea5
- Linux / Linux23020f04932701d5c8363e60756f12b43b8ed752 – 14dc48e5ba73d5c69559bf1a1a6884f7843aade7
- Linux / Linux23020f04932701d5c8363e60756f12b43b8ed752 – 379050947a1828826ad7ea50c95245a56929b35a
- Linux / Linux6.11 – 6.11
- Linux / Linux0 – 6.11
- Linux / Linux6.12.91 – 6.12.*
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/d36be272adda7f313e39dd118086955d993bf6a7
- MISChttps://git.kernel.org/stable/c/4d4acfa348a1d8c0941004823662ede0fdb5dea5
- MISChttps://git.kernel.org/stable/c/14dc48e5ba73d5c69559bf1a1a6884f7843aade7
- MISChttps://git.kernel.org/stable/c/379050947a1828826ad7ea50c95245a56929b35a