[PATCH 0/4] net/axgbe: fix resource leaks and OOB access

Stephen Hemminger
2026-02-18T16:43:30Z

Code review of the axgbe PMD identified several correctness bugs,
primarily around resource management on error paths in device
initialization and an out-of-bounds descriptor ring access.

Patch 1 fixes multiple resource leak paths in eth_axgbe_dev_init():
- mac_addrs leaked when hash_mac_addrs allocation fails
- hash_mac_addrs leaked when phy_init() fails
- rte_intr_callback_register() return value unchecked
- DMA reset failure via hw_if.exit() logged but not propagated

Patch 2 fixes wrapper_rx_desc_init() which only releases the
current queue on mbuf allocation failure, leaking all mbufs
from previously initialized queues.

Patch 3 adds pthread_mutex_destroy() calls in axgbe_dev_close()
for the four mutexes created during init.

Patch 4 fixes an out-of-bounds read in both Rx and Tx descriptor
status functions where desc[idx + offset] can exceed the ring
size. The offset is now folded into the index before masking.

Stephen Hemminger (4):
net/axgbe: fix resource leaks in device init error paths
net/axgbe: fix Rx queue leak on descriptor init failure
net/axgbe: destroy mutexes on device close
net/axgbe: fix descriptor status out-of-bounds access

drivers/net/axgbe/axgbe_dev.c | 5 ++++-
drivers/net/axgbe/axgbe_ethdev.c | 26 ++++++++++++++++++++++++--
drivers/net/axgbe/axgbe_rxtx.c | 8 ++++----
3 files changed, 32 insertions(+), 7 deletions(-)

--
2.51.0