2019-09-26 09:42:57

by Navid Emamdoost

[permalink] [raw]
Subject: [PATCH] i40e: prevent memory leak in i40e_setup_macvlans

In i40e_setup_macvlans if i40e_setup_channel fails the allocated memory
for ch should be released.

Signed-off-by: Navid Emamdoost <[email protected]>
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 6031223eafab..7d4a14c3fe58 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -7168,6 +7168,7 @@ static int i40e_setup_macvlans(struct i40e_vsi *vsi, u16 macvlan_cnt, u16 qcnt,
ch->num_queue_pairs = qcnt;
if (!i40e_setup_channel(pf, vsi, ch)) {
ret = -EINVAL;
+ kfree(ch);
goto err_free;
}
ch->parent_vsi = vsi;
--
2.17.1


2019-09-27 15:07:53

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH] i40e: prevent memory leak in i40e_setup_macvlans

> In i40e_setup_macvlans if i40e_setup_channel fails the allocated memory
> for ch should be released.

I suggest to improve also this change description.


> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -7168,6 +7168,7 @@ static int i40e_setup_macvlans(struct i40e_vsi *vsi, u16 macvlan_cnt, u16 qcnt,
> ch->num_queue_pairs = qcnt;
> if (!i40e_setup_channel(pf, vsi, ch)) {
> ret = -EINVAL;
> + kfree(ch);
> goto err_free;
> }
> ch->parent_vsi = vsi;

Can it matter to perform the added function call before the error code assignment?

Regards,
Markus

2019-09-27 19:03:15

by Bowers, AndrewX

[permalink] [raw]
Subject: RE: [Intel-wired-lan] [PATCH] i40e: prevent memory leak in i40e_setup_macvlans

> -----Original Message-----
> From: Intel-wired-lan [mailto:[email protected]] On
> Behalf Of Navid Emamdoost
> Sent: Wednesday, September 25, 2019 8:49 AM
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; David S. Miller <[email protected]>; Navid
> Emamdoost <[email protected]>
> Subject: [Intel-wired-lan] [PATCH] i40e: prevent memory leak in
> i40e_setup_macvlans
>
> In i40e_setup_macvlans if i40e_setup_channel fails the allocated memory for
> ch should be released.
>
> Signed-off-by: Navid Emamdoost <[email protected]>
> ---
> drivers/net/ethernet/intel/i40e/i40e_main.c | 1 +
> 1 file changed, 1 insertion(+)

Tested-by: Andrew Bowers <[email protected]>