[dpdk-dev] [PATCH v3 07/10] net/bnxt: fix a memory leak in port stop
Ajit Khaparde
ajit.khaparde at broadcom.com
Tue Jan 14 06:14:32 CET 2020
From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
The memory for mark table is allocated during port start.
But the allocated memory is freed only during port close
or driver unload which in turn causes a memory leakage
on each port start/stop.
Fixed it by moving the memory free to port stop.
Fixes: a968a9f5456d ("net/bnxt: add support for flow mark action")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 436ecbb84..26614186f 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -970,7 +970,10 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
bnxt_int_handler(eth_dev);
bnxt_shutdown_nic(bp);
bnxt_hwrm_if_change(bp, 0);
- memset(bp->mark_table, 0, BNXT_MARK_TABLE_SZ);
+
+ rte_free(bp->mark_table);
+ bp->mark_table = NULL;
+
bp->flags &= ~BNXT_FLAG_RX_VECTOR_PKT_MODE;
bp->dev_stopped = 1;
bp->rx_cosq_cnt = 0;
@@ -992,9 +995,6 @@ static void bnxt_dev_close_op(struct rte_eth_dev *eth_dev)
bp->grp_info = NULL;
}
- rte_free(bp->mark_table);
- bp->mark_table = NULL;
-
bnxt_dev_uninit(eth_dev);
}
--
2.21.0 (Apple Git-122.2)
More information about the dev
mailing list