From 6f14d4d75aa07210d13fe0a7fcc5c26273c835d1 Mon Sep 17 00:00:00 2001 From: Yunjian Wang Date: Thu, 13 May 2021 11:38:56 +0800 Subject: [PATCH] net/mlx4: fix leak when configured repeatedly Currently, configuring a mlx device, it will allocate its own process private in mlx5_proc_priv_init() and only frees it when closing the device. This will lead to a memory leak, when a device is configured repeatedly. For example: for(...) do rte_eth_dev_configure rte_eth_rx_queue_setup rte_eth_tx_queue_setup rte_eth_dev_start rte_eth_dev_stop done Fixes: 97d37d2c1f6b ("net/mlx4: remove device register remap") Cc: stable@dpdk.org Signed-off-by: Yunjian Wang Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx4/mlx4.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 7cd35cd3ca..c522157a0a 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -201,6 +201,7 @@ mlx4_proc_priv_init(struct rte_eth_dev *dev) struct mlx4_proc_priv *ppriv; size_t ppriv_size; + mlx4_proc_priv_uninit(dev); /* * UAR register table follows the process private structure. BlueFlame * registers for Tx queues are stored in the table. -- 2.20.1