[PATCH] octeontx2-af: fix memory leak of lmac and lmac->name

Subsystems: marvell octeontx2 rvu admin function driver, networking drivers, the rest

STALE2050d LANDED

Landed in mainline as ac7996d680d8 on 2021-01-08.

3 messages, 3 authors, 2021-01-08 · open the first message on its own page

[PATCH] octeontx2-af: fix memory leak of lmac and lmac->name

From: Colin King <hidden>
Date: 2021-01-07 12:40:26

From: Colin Ian King <redacted>

Currently the error return paths don't kfree lmac and lmac->name
leading to some memory leaks.  Fix this by adding two error return
paths that kfree these objects

Addresses-Coverity: ("Resource leak")
Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management")
Signed-off-by: Colin Ian King <redacted>
---
 drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c b/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
index 1156c61f2e02..aa5da9691a1c 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
@@ -871,8 +871,10 @@ static int cgx_lmac_init(struct cgx *cgx)
 		if (!lmac)
 			return -ENOMEM;
 		lmac->name = kcalloc(1, sizeof("cgx_fwi_xxx_yyy"), GFP_KERNEL);
-		if (!lmac->name)
-			return -ENOMEM;
+		if (!lmac->name) {
+			err = -ENOMEM;
+			goto err_lmac_free;
+		}
 		sprintf(lmac->name, "cgx_fwi_%d_%d", cgx->cgx_id, i);
 		lmac->lmac_id = i;
 		lmac->cgx = cgx;
@@ -883,7 +885,7 @@ static int cgx_lmac_init(struct cgx *cgx)
 						 CGX_LMAC_FWI + i * 9),
 				   cgx_fwi_event_handler, 0, lmac->name, lmac);
 		if (err)
-			return err;
+			goto err_irq;
 
 		/* Enable interrupt */
 		cgx_write(cgx, lmac->lmac_id, CGXX_CMRX_INT_ENA_W1S,
@@ -895,6 +897,12 @@ static int cgx_lmac_init(struct cgx *cgx)
 	}
 
 	return cgx_lmac_verify_fwi_version(cgx);
+
+err_irq:
+	kfree(lmac->name);
+err_lmac_free:
+	kfree(lmac);
+	return err;
 }
 
 static int cgx_lmac_exit(struct cgx *cgx)
-- 
2.29.2

Re: [PATCH] octeontx2-af: fix memory leak of lmac and lmac->name

From: Sunil Kovvuri <hidden>
Date: 2021-01-07 17:02:26

On Thu, Jan 7, 2021 at 6:11 PM Colin King [off-list ref] wrote:
From: Colin Ian King <redacted>

Currently the error return paths don't kfree lmac and lmac->name
leading to some memory leaks.  Fix this by adding two error return
paths that kfree these objects

Addresses-Coverity: ("Resource leak")
Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management")
Signed-off-by: Colin Ian King <redacted>
---
Thanks for the fix, looks good to me.

Sunil.

Re: [PATCH] octeontx2-af: fix memory leak of lmac and lmac->name

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-01-08 02:43:21

On Thu, 7 Jan 2021 22:31:30 +0530 Sunil Kovvuri wrote:
On Thu, Jan 7, 2021 at 6:11 PM Colin King [off-list ref] wrote:
quoted
From: Colin Ian King <redacted>

Currently the error return paths don't kfree lmac and lmac->name
leading to some memory leaks.  Fix this by adding two error return
paths that kfree these objects

Addresses-Coverity: ("Resource leak")
Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management")
Signed-off-by: Colin Ian King <redacted>
Thanks for the fix, looks good to me.
Consider venturing an Acked-by tag in the future so it can be recorded 
in git.

Applied, thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help