diff options
author | Kuan-Wei Chiu <[email protected]> | 2023-12-11 01:19:07 +0800 |
---|---|---|
committer | Abel Vesa <[email protected]> | 2023-12-20 11:32:18 +0200 |
commit | 21c0efbcb45cf94724d17b040ebc03fcd4a81f22 (patch) | |
tree | 8dc6f4c3c1bf8c2570af5d6e337198826bc8589a | |
parent | 144f1b70ea9ebebd21390bfcc78ba3192f12b0c1 (diff) |
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 <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Abel Vesa <[email protected]>
-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) { |