2020-05-02 22:47:30

by Qiushi Wu

[permalink] [raw]
Subject: [PATCH] nfp: abm: fix a memory leak bug

From: Qiushi Wu <[email protected]>

In function nfp_abm_vnic_set_mac, pointer nsp is allocated by nfp_nsp_open.
But when nfp_nsp_has_hwinfo_lookup fail, the pointer is not released,
which can lead to a memory leak bug. Fix this issue by adding
nfp_nsp_close(nsp) in the error path.

Signed-off-by: Qiushi Wu <[email protected]>
---
drivers/net/ethernet/netronome/nfp/abm/main.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/netronome/nfp/abm/main.c b/drivers/net/ethernet/netronome/nfp/abm/main.c
index 9183b3e85d21..354efffac0f9 100644
--- a/drivers/net/ethernet/netronome/nfp/abm/main.c
+++ b/drivers/net/ethernet/netronome/nfp/abm/main.c
@@ -283,6 +283,7 @@ nfp_abm_vnic_set_mac(struct nfp_pf *pf, struct nfp_abm *abm, struct nfp_net *nn,
if (!nfp_nsp_has_hwinfo_lookup(nsp)) {
nfp_warn(pf->cpp, "NSP doesn't support PF MAC generation\n");
eth_hw_addr_random(nn->dp.netdev);
+ nfp_nsp_close(nsp);
return;
}

--
2.17.1


2020-05-03 11:34:37

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH] nfp: abm: fix a memory leak bug


> Fix this issue by adding nfp_nsp_close(nsp) in the error path.

How do you think about a wording variant like the following?

Subject:
[PATCH v2] nfp: abm: Fix incomplete release of system resources in nfp_abm_vnic_set_mac()

Change description:

Thus add a call of the function “nfp_nsp_close” for the completion
of the exception handling.



> +++ b/drivers/net/ethernet/netronome/nfp/abm/main.c
> @@ -283,6 +283,7 @@ nfp_abm_vnic_set_mac(struct nfp_pf *pf, struct nfp_abm *abm, struct nfp_net *nn,
> if (!nfp_nsp_has_hwinfo_lookup(nsp)) {
> nfp_warn(pf->cpp, "NSP doesn't support PF MAC generation\n");
> eth_hw_addr_random(nn->dp.netdev);
> + nfp_nsp_close(nsp);
> return;
> }

I suggest to reconsider the order for resource clean-up function calls
a bit more.

+ nfp_nsp_close(nsp);
- eth_hw_addr_random(nn->dp.netdev);
- return;
+ goto generate_random_address;


Should such a jump target be added in another update step?

Would you like to add the tag “Fixes”?

Regards,
Markus

2020-05-04 17:07:07

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] nfp: abm: fix a memory leak bug

On Sat, 2 May 2020 17:42:59 -0500 [email protected] wrote:
> From: Qiushi Wu <[email protected]>
>
> In function nfp_abm_vnic_set_mac, pointer nsp is allocated by nfp_nsp_open.
> But when nfp_nsp_has_hwinfo_lookup fail, the pointer is not released,
> which can lead to a memory leak bug. Fix this issue by adding
> nfp_nsp_close(nsp) in the error path.
>
> Signed-off-by: Qiushi Wu <[email protected]>

Fixes: f6e71efdf9fb1 ("nfp: abm: look up MAC addresses via management FW")
Acked-by: Jakub Kicinski <[email protected]>

2020-05-04 19:08:07

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] nfp: abm: fix a memory leak bug

From: [email protected]
Date: Sat, 2 May 2020 17:42:59 -0500

> From: Qiushi Wu <[email protected]>
>
> In function nfp_abm_vnic_set_mac, pointer nsp is allocated by nfp_nsp_open.
> But when nfp_nsp_has_hwinfo_lookup fail, the pointer is not released,
> which can lead to a memory leak bug. Fix this issue by adding
> nfp_nsp_close(nsp) in the error path.
>
> Signed-off-by: Qiushi Wu <[email protected]>

Applied and queued up for -stable, thanks.