diff options
author | Kuan-Wei Chiu <visitorckw@gmail.com> | 2023-12-10 20:19:07 +0300 |
---|---|---|
committer | Abel Vesa <abel.vesa@linaro.org> | 2023-12-20 12:32:18 +0300 |
commit | 21c0efbcb45cf94724d17b040ebc03fcd4a81f22 (patch) | |
tree | 8dc6f4c3c1bf8c2570af5d6e337198826bc8589a /drivers | |
parent | 144f1b70ea9ebebd21390bfcc78ba3192f12b0c1 (diff) | |
download | linux-21c0efbcb45cf94724d17b040ebc03fcd4a81f22.tar.xz |
clk: imx: scu: Fix memory leak in __imx_clk_gpr_scu()
In cases where imx_clk_is_resource_owned() returns false, 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 'clk_node' before returning.
Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/all/20231210171907.3410922-1-visitorckw@gmail.com/
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clk/imx/clk-scu.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/clk/imx/clk-scu.c b/drivers/clk/imx/clk-scu.c index be89180dd19c..e48a904c0013 100644 --- a/drivers/clk/imx/clk-scu.c +++ b/drivers/clk/imx/clk-scu.c @@ -886,8 +886,10 @@ struct clk_hw *__imx_clk_gpr_scu(const char *name, const char * const *parent_na return ERR_PTR(-EINVAL); } - if (!imx_clk_is_resource_owned(rsrc_id)) + if (!imx_clk_is_resource_owned(rsrc_id)) { + kfree(clk_node); return NULL; + } clk = kzalloc(sizeof(*clk), GFP_KERNEL); if (!clk) { |