Message ID | 20221207085410.123938-1-yuancan@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 01de1123322e4fe1bbd0fcdf0982511b55519c03 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v2] drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init() | expand |
On Wed, Dec 07, 2022 at 08:54:10AM +0000, Yuan Can wrote: > If vp alloc failed in qlcnic_sriov_init(), all previously allocated vp > needs to be freed. > > Fixes: f197a7aa6288 ("qlcnic: VF-PF communication channel implementation") > Signed-off-by: Yuan Can <yuancan@huawei.com> > --- > Changes in v2: > - free all vp before destroy_workqueue(bc->bc_trans_wq) > Thanks, Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Hello: This patch was applied to netdev/net.git (master) by David S. Miller <davem@davemloft.net>: On Wed, 7 Dec 2022 08:54:10 +0000 you wrote: > If vp alloc failed in qlcnic_sriov_init(), all previously allocated vp > needs to be freed. > > Fixes: f197a7aa6288 ("qlcnic: VF-PF communication channel implementation") > Signed-off-by: Yuan Can <yuancan@huawei.com> > --- > Changes in v2: > - free all vp before destroy_workqueue(bc->bc_trans_wq) > > [...] Here is the summary with links: - [net,v2] drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init() https://git.kernel.org/netdev/net/c/01de1123322e You are awesome, thank you!
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c index 9282321c2e7f..f9dd50152b1e 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c @@ -221,6 +221,8 @@ int qlcnic_sriov_init(struct qlcnic_adapter *adapter, int num_vfs) return 0; qlcnic_destroy_async_wq: + while (i--) + kfree(sriov->vf_info[i].vp); destroy_workqueue(bc->bc_async_wq); qlcnic_destroy_trans_wq:
If vp alloc failed in qlcnic_sriov_init(), all previously allocated vp needs to be freed. Fixes: f197a7aa6288 ("qlcnic: VF-PF communication channel implementation") Signed-off-by: Yuan Can <yuancan@huawei.com> --- Changes in v2: - free all vp before destroy_workqueue(bc->bc_trans_wq) drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c | 2 ++ 1 file changed, 2 insertions(+)