Re: [PATCH v2] clk: ti: clkctrl: fix the missed kfree() for _ti_omap4_clkctrl_setup()

From: Stephen Boyd
Date: Wed Oct 14 2020 - 13:19:18 EST


Quoting Jing Xiangfeng (2020-07-27 23:18:46)
> _ti_omap4_clkctrl_setup() misses to call kfree() in an error path. Jump
> to cleanup to fix it.
>
> Fixes: 6c3090520554 ("clk: ti: clkctrl: Fix hidden dependency to node name")
> Signed-off-by: Jing Xiangfeng <jingxiangfeng@xxxxxxxxxx>
> ---
> drivers/clk/ti/clkctrl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c
> index 864c484bde1b..a562261eb061 100644
> --- a/drivers/clk/ti/clkctrl.c
> +++ b/drivers/clk/ti/clkctrl.c
> @@ -656,7 +656,7 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node)
>
> hw = kzalloc(sizeof(*hw), GFP_KERNEL);
> if (!hw)
> - return;
> + goto cleanup;

Nobody reviewed this so I didn't apply it. I looked closer and it seems
that this may fix one leak but this is inside a while loop so presumably
we need to goto cleanup and unwind the loop of allocations? Put another
way, there is more work to do here.