[dpdk-stable] [dpdk-dev] [PATCH 1/2] net/mlx4: fix mem leak when a device configured repeatedly

Slava Ovsiienko viacheslavo at nvidia.com
Wed May 12 16:04:41 CEST 2021


Hi, Yunjian

Nice and tiny fix, thank you!
Could you, please, remove the empty line after mlx4/5_proc_priv_uninit(dev) 
to follow the mlx5 coding style?

With best regards,
Slava

> -----Original Message-----
> From: wangyunjian <wangyunjian at huawei.com>
> Sent: Wednesday, May 12, 2021 16:18
> To: dev at dpdk.org
> Cc: Matan Azrad <matan at nvidia.com>; Shahaf Shuler
> <shahafs at nvidia.com>; Slava Ovsiienko <viacheslavo at nvidia.com>;
> dingxiaoxiong at huawei.com; Yunjian Wang <wangyunjian at huawei.com>;
> stable at dpdk.org
> Subject: [dpdk-dev] [PATCH 1/2] net/mlx4: fix mem leak when a device
> configured repeatedly
> 
> From: Yunjian Wang <wangyunjian at huawei.com>
> 
> 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 at dpdk.org
> 
> Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
> ---
>  drivers/net/mlx4/mlx4.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index
> 7cd35cd3ca..c72587b7ef 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -201,6 +201,8 @@ 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.23.0


More information about the stable mailing list