summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFei Shao <fshao@chromium.org>2023-06-19 11:22:53 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-07-11 19:39:44 +0200
commitcb1b04fd4283fc8f9acefe0ddc61ba072ed44877 (patch)
tree3ddff54c78a1bd09cd2e1068b1b913b84863ea45
parent225a9c1047e7bf2654a27f86003637770c7ba988 (diff)
clk: Fix memory leak in devm_clk_notifier_register()
[ Upstream commit 7fb933e56f77a57ef7cfc59fc34cbbf1b1fa31ff ] devm_clk_notifier_register() allocates a devres resource for clk notifier but didn't register that to the device, so the notifier didn't get unregistered on device detach and the allocated resource was leaked. Fix the issue by registering the resource through devres_add(). This issue was found with kmemleak on a Chromebook. Fixes: 6d30d50d037d ("clk: add devm variant of clk_notifier_register") Signed-off-by: Fei Shao <fshao@chromium.org> Link: https://lore.kernel.org/r/20230619112253.v2.1.I13f060c10549ef181603e921291bdea95f83033c@changeid Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/clk/clk.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 657b27743c4d..15a405a5582b 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -4694,6 +4694,7 @@ int devm_clk_notifier_register(struct device *dev, struct clk *clk,
if (!ret) {
devres->clk = clk;
devres->nb = nb;
+ devres_add(dev, devres);
} else {
devres_free(devres);
}