Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Kuan-Wei Chiu and committed by
Abel Vesa
21c0efbc 144f1b70

+3 -1
+3 -1
drivers/clk/imx/clk-scu.c
··· 886 886 return ERR_PTR(-EINVAL); 887 887 } 888 888 889 - if (!imx_clk_is_resource_owned(rsrc_id)) 889 + if (!imx_clk_is_resource_owned(rsrc_id)) { 890 + kfree(clk_node); 890 891 return NULL; 892 + } 891 893 892 894 clk = kzalloc(sizeof(*clk), GFP_KERNEL); 893 895 if (!clk) {