net/i40e: fix vf resource leakage problem

Message ID 20210821081426.5700-1-chenqiming_huawei@163.com (mailing list archive)
State Not Applicable, archived
Delegated to: Qi Zhang
Headers
Series net/i40e: fix vf resource leakage problem |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-x86_64-unit-testing fail Testing issues
ci/iol-aarch64-compile-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing fail Testing issues

Commit Message

Qiming Chen Aug. 21, 2021, 8:14 a.m. UTC
  From: Qiming Chen <chenqiming_huawei@163.com>

In the i40evf_dev_init function, when the MAC memory alloc fails, the
previously initialized vf resource is not released, resulting in leakage.
The patch calls the i40evf_uninit_vf function in the abnormal branch to
release resources.

Fixes: 5c9222058df7 ("i40e: move to drivers/net/")
Cc: stable@dpdk.org

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Qi Zhang Sept. 6, 2021, 1:47 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of
> chenqiming_huawei@163.com
> Sent: Saturday, August 21, 2021 4:14 PM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Qiming Chen
> <chenqiming_huawei@163.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/i40e: fix vf resource leakage problem
> 
> From: Qiming Chen <chenqiming_huawei@163.com>
> 
> In the i40evf_dev_init function, when the MAC memory alloc fails, the
> previously initialized vf resource is not released, resulting in leakage.
> The patch calls the i40evf_uninit_vf function in the abnormal branch to release
> resources.
> 
> Fixes: 5c9222058df7 ("i40e: move to drivers/net/")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
> ---
>  drivers/net/i40e/i40e_ethdev_vf.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index 003d41373b..f64db72e9a 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -1622,6 +1622,7 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
>  		PMD_INIT_LOG(ERR, "Failed to allocate %d bytes needed to"
>  				" store MAC addresses",
>  				RTE_ETHER_ADDR_LEN * I40E_NUM_MACADDR_MAX);
> +		(void)i40evf_uninit_vf(eth_dev);
>  		return -ENOMEM;
>  	}
>  	rte_ether_addr_copy((struct rte_ether_addr *)hw->mac.addr,
> --
> 2.30.1.windows.1

The patch is not applied for main repo as i40evf will be removed, you can submit a fix to dpdk-stable directly.
  
Qi Zhang Sept. 15, 2021, 1:27 a.m. UTC | #2
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of
> chenqiming_huawei@163.com
> Sent: Saturday, August 21, 2021 4:14 PM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Qiming Chen
> <chenqiming_huawei@163.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/i40e: fix vf resource leakage problem
> 
> From: Qiming Chen <chenqiming_huawei@163.com>
> 
> In the i40evf_dev_init function, when the MAC memory alloc fails, the
> previously initialized vf resource is not released, resulting in leakage.
> The patch calls the i40evf_uninit_vf function in the abnormal branch to release
> resources.
> 
> Fixes: 5c9222058df7 ("i40e: move to drivers/net/")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  
Qi Zhang Sept. 15, 2021, 8:25 a.m. UTC | #3
> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Wednesday, September 15, 2021 9:27 AM
> To: 'chenqiming_huawei@163.com' <chenqiming_huawei@163.com>;
> dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; stable@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH] net/i40e: fix vf resource leakage problem
> 
> 
> 
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of
> > chenqiming_huawei@163.com
> > Sent: Saturday, August 21, 2021 4:14 PM
> > To: dev@dpdk.org
> > Cc: Xing, Beilei <beilei.xing@intel.com>; Qiming Chen
> > <chenqiming_huawei@163.com>; stable@dpdk.org
> > Subject: [dpdk-dev] [PATCH] net/i40e: fix vf resource leakage problem
> >
> > From: Qiming Chen <chenqiming_huawei@163.com>
> >
> > In the i40evf_dev_init function, when the MAC memory alloc fails, the
> > previously initialized vf resource is not released, resulting in leakage.
> > The patch calls the i40evf_uninit_vf function in the abnormal branch
> > to release resources.
> >
> > Fixes: 5c9222058df7 ("i40e: move to drivers/net/")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
> 
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> 
> Applied to dpdk-next-net-intel.

Sorry, I acked on wrong patch , this patch will not be applied as i40evf will be removed in this release, is should be submitted to LTS directly.

> 
> Thanks
> Qi
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 003d41373b..f64db72e9a 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1622,6 +1622,7 @@  i40evf_dev_init(struct rte_eth_dev *eth_dev)
 		PMD_INIT_LOG(ERR, "Failed to allocate %d bytes needed to"
 				" store MAC addresses",
 				RTE_ETHER_ADDR_LEN * I40E_NUM_MACADDR_MAX);
+		(void)i40evf_uninit_vf(eth_dev);
 		return -ENOMEM;
 	}
 	rte_ether_addr_copy((struct rte_ether_addr *)hw->mac.addr,