projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1cda287
)
clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
author
Kuan-Wei Chiu
<visitorckw@gmail.com>
Sun, 10 Dec 2023 17:52:32 +0000
(
01:52
+0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Mon, 5 Feb 2024 20:14:29 +0000
(20:14 +0000)
[ Upstream commit
2fbabea626b6467eb4e6c4cb7a16523da12e43b4
]
In cases where mapping of mpmu/apmu/apbc registers fails, the code path
does not handle the failure gracefully, potentially leading to a memory
leak. This fix ensures proper cleanup by freeing the allocated memory
for 'pxa_unit' before returning.
Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Link:
https://lore.kernel.org/r/20231210175232.3414584-1-visitorckw@gmail.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/mmp/clk-of-pxa168.c
patch
|
blob
|
history
diff --git
a/drivers/clk/mmp/clk-of-pxa168.c
b/drivers/clk/mmp/clk-of-pxa168.c
index
fb0df64
..
c5a7ba1
100644
(file)
--- a/
drivers/clk/mmp/clk-of-pxa168.c
+++ b/
drivers/clk/mmp/clk-of-pxa168.c
@@
-308,18
+308,21
@@
static void __init pxa168_clk_init(struct device_node *np)
pxa_unit->mpmu_base = of_iomap(np, 0);
if (!pxa_unit->mpmu_base) {
pr_err("failed to map mpmu registers\n");
+ kfree(pxa_unit);
return;
}
pxa_unit->apmu_base = of_iomap(np, 1);
if (!pxa_unit->apmu_base) {
pr_err("failed to map apmu registers\n");
+ kfree(pxa_unit);
return;
}
pxa_unit->apbc_base = of_iomap(np, 2);
if (!pxa_unit->apbc_base) {
pr_err("failed to map apbc registers\n");
+ kfree(pxa_unit);
return;
}