[v3] net/ixgbe: fix mac resourece leak
Checks
Commit Message
In the eth_ixgbevf_dev_init and eth_ixgbe_dev_init functions, memory is
allocated for the MAC address, and the address is stored in the
eth_dev->data->mac_addrs member variable. If the subsequent function is
abnormal, you need to use the rte_free function to release the MAC
address memory.
Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
---
v2:
Clear coding style warning.
v3:
Modify fixes commit.
---
drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++++
1 file changed, 4 insertions(+)
Comments
> -----Original Message-----
> From: Qiming Chen <chenqiming_huawei@163.com>
> Sent: Wednesday, September 1, 2021 15:12
> To: dev@dpdk.org
> Cc: Wang, Haiyue <haiyue.wang@intel.com>; Qiming Chen <chenqiming_huawei@163.com>; stable@dpdk.org
> Subject: [PATCH v3] net/ixgbe: fix mac resourece leak
>
> In the eth_ixgbevf_dev_init and eth_ixgbe_dev_init functions, memory is
> allocated for the MAC address, and the address is stored in the
> eth_dev->data->mac_addrs member variable. If the subsequent function is
> abnormal, you need to use the rte_free function to release the MAC
> address memory.
>
> Fixes: af75078fece3 ("first public release")
> Cc: stable@dpdk.org
>
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
> ---
> v2:
> Clear coding style warning.
> v3:
> Modify fixes commit.
> ---
> drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
>
> --
> 2.30.1.windows.1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Wang, Haiyue
> Sent: Monday, September 6, 2021 9:25 AM
> To: Qiming Chen <chenqiming_huawei@163.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3] net/ixgbe: fix mac resourece leak
>
> > -----Original Message-----
> > From: Qiming Chen <chenqiming_huawei@163.com>
> > Sent: Wednesday, September 1, 2021 15:12
> > To: dev@dpdk.org
> > Cc: Wang, Haiyue <haiyue.wang@intel.com>; Qiming Chen
> > <chenqiming_huawei@163.com>; stable@dpdk.org
> > Subject: [PATCH v3] net/ixgbe: fix mac resourece leak
> >
> > In the eth_ixgbevf_dev_init and eth_ixgbe_dev_init functions, memory
> > is allocated for the MAC address, and the address is stored in the
> > eth_dev->data->mac_addrs member variable. If the subsequent function
> > is abnormal, you need to use the rte_free function to release the MAC
> > address memory.
> >
> > Fixes: af75078fece3 ("first public release")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
> > ---
> > v2:
> > Clear coding style warning.
> > v3:
> > Modify fixes commit.
> > ---
> > drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
>
> Acked-by: Haiyue Wang <haiyue.wang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
>
> >
> > --
> > 2.30.1.windows.1
@@ -1218,6 +1218,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
PMD_INIT_LOG(ERR,
"Failed to allocate %d bytes needed to store MAC addresses",
RTE_ETHER_ADDR_LEN * IXGBE_VMDQ_NUM_UC_MAC);
+ rte_free(eth_dev->data->mac_addrs);
+ eth_dev->data->mac_addrs = NULL;
return -ENOMEM;
}
@@ -1672,6 +1674,8 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
default:
PMD_INIT_LOG(ERR, "VF Initialization Failure: %d", diag);
+ rte_free(eth_dev->data->mac_addrs);
+ eth_dev->data->mac_addrs = NULL;
return -EIO;
}