From: Xiaoke Wang Date: Thu, 7 Apr 2022 07:37:22 +0000 (+0800) Subject: clk: imx: scu: fix a potential memory leak in __imx_clk_gpr_scu() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2759f38b6c9551e4a1184131bc660d6a520a7cf4;p=linux.git clk: imx: scu: fix a potential memory leak in __imx_clk_gpr_scu() In __imx_clk_gpr_scu(), if imx_scu_clk_is_valid(rsrc_id) fails, then `clk_node` which is allocated by kzalloc() is not properly released, which may lead to memory leak. So this patch added kfree(clk_node) on the above error path before return ERR_PTR(-EINVAL). Signed-off-by: Xiaoke Wang Reviewed-by: Abel Vesa Link: https://lore.kernel.org/r/tencent_27FF59903EE6AB5C0D0E6D0A8E7059A59007@qq.com Signed-off-by: Abel Vesa --- diff --git a/drivers/clk/imx/clk-scu.c b/drivers/clk/imx/clk-scu.c index 083da31dc3ead..ed3c01d2e8ae5 100644 --- a/drivers/clk/imx/clk-scu.c +++ b/drivers/clk/imx/clk-scu.c @@ -837,8 +837,10 @@ struct clk_hw *__imx_clk_gpr_scu(const char *name, const char * const *parent_na if (!clk_node) return ERR_PTR(-ENOMEM); - if (!imx_scu_clk_is_valid(rsrc_id)) + if (!imx_scu_clk_is_valid(rsrc_id)) { + kfree(clk_node); return ERR_PTR(-EINVAL); + } clk = kzalloc(sizeof(*clk), GFP_KERNEL); if (!clk) {