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

