[PATCH][next] soc: fsl: dpio: fix memory leak of a struct qbman on error exit path

Subsystems: freescale soc drivers, the rest

STALE2727d

2 messages, 2 authors, 2019-02-19 · open the first message on its own page

[PATCH][next] soc: fsl: dpio: fix memory leak of a struct qbman on error exit path

From: Colin King <hidden>
Date: 2019-02-19 14:05:29

From: Colin Ian King <redacted>

Currently the error check for a null reg leaks a struct qbman
that was allocated earlier. Fix this by kfree'ing p on the error exit
path.

Signed-off-by: Colin Ian King <redacted>
---
 drivers/soc/fsl/dpio/qbman-portal.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/soc/fsl/dpio/qbman-portal.c b/drivers/soc/fsl/dpio/qbman-portal.c
index 0bddb85c0ae5..5a73397ae79e 100644
--- a/drivers/soc/fsl/dpio/qbman-portal.c
+++ b/drivers/soc/fsl/dpio/qbman-portal.c
@@ -180,6 +180,7 @@ struct qbman_swp *qbman_swp_init(const struct qbman_swp_desc *d)
 	reg = qbman_read_register(p, QBMAN_CINH_SWP_CFG);
 	if (!reg) {
 		pr_err("qbman: the portal is not enabled!\n");
+		kfree(p);
 		return NULL;
 	}
 
-- 
2.20.1

RE: [PATCH][next] soc: fsl: dpio: fix memory leak of a struct qbman on error exit path

From: Leo Li <hidden>
Date: 2019-02-19 20:57:42

-----Original Message-----
From: Colin King <redacted>
Sent: Tuesday, February 19, 2019 8:05 AM
To: Roy Pledge <roy.pledge@nxp.com>; Leo Li <redacted>;
linuxppc-dev@lists.ozlabs.org; linux-arm-kernel@lists.infradead.org
Cc: kernel-janitors@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: [PATCH][next] soc: fsl: dpio: fix memory leak of a struct qbman on
error exit path

From: Colin Ian King <redacted>

Currently the error check for a null reg leaks a struct qbman that was
allocated earlier. Fix this by kfree'ing p on the error exit path.

Signed-off-by: Colin Ian King <redacted>
Applied for next.  Thanks.
quoted hunk
---
 drivers/soc/fsl/dpio/qbman-portal.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/soc/fsl/dpio/qbman-portal.c
b/drivers/soc/fsl/dpio/qbman-portal.c
index 0bddb85c0ae5..5a73397ae79e 100644
--- a/drivers/soc/fsl/dpio/qbman-portal.c
+++ b/drivers/soc/fsl/dpio/qbman-portal.c
@@ -180,6 +180,7 @@ struct qbman_swp *qbman_swp_init(const struct
qbman_swp_desc *d)
 	reg = qbman_read_register(p, QBMAN_CINH_SWP_CFG);
 	if (!reg) {
 		pr_err("qbman: the portal is not enabled!\n");
+		kfree(p);
 		return NULL;
 	}

--
2.20.1

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