From: Kalesh AP Date: Thu, 24 Oct 2019 07:44:31 +0000 (+0530) Subject: net/bnxt: fix memory leak X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=f5019a53d7fc82474710c98bb48b4a09ee07c9f7;p=dpdk.git net/bnxt: fix memory leak During hot fw upgrade or error recovery, driver does cleanup and reallocation of resources. But driver reallocates memory for ring group info table without freeing the allocated memory during device init. Fix this memory leak by moving the freeing of ring group info table to bnxt_free_mem() in bnxt_uninit_resources(). Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations") Cc: stable@dpdk.org Signed-off-by: Kalesh AP Signed-off-by: Somnath Kotur Reviewed-by: Santoshkumar Karanappa Rastapur --- diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 013b968355..9642796eeb 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -183,6 +183,9 @@ static void bnxt_free_mem(struct bnxt *bp, bool reconfig) } bnxt_free_async_cp_ring(bp); bnxt_free_rxtx_nq_ring(bp); + + rte_free(bp->grp_info); + bp->grp_info = NULL; } static int bnxt_alloc_mem(struct bnxt *bp, bool reconfig) @@ -4821,11 +4824,6 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev) rc = bnxt_uninit_resources(bp, false); - if (bp->grp_info != NULL) { - rte_free(bp->grp_info); - bp->grp_info = NULL; - } - if (bp->tx_mem_zone) { rte_memzone_free((const struct rte_memzone *)bp->tx_mem_zone); bp->tx_mem_zone = NULL;