Re: [PATCH] fix: clk/ingenic: ingenic_register_clock: clk_register_clkdev failure leaks registered clock
From: WenTao Liang
Date: Sat Jun 27 2026 - 23:54:24 EST
> 2026年6月26日 19:56,WenTao Liang <vulab@xxxxxxxxxxx> 写道:
>
> clk_register() succeeds but clk_register_clkdev() fails, and the error
> path jumps to out without calling clk_unregister or clk_put to release
> the registered clock. This leaks the clock object within the common clock
> framework, contrasting with the CGU_CLK_EXT type path which correctly
> calls clk_put on error.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: b066303fb3e7 ("clk: ingenic: add driver for Ingenic SoC CGU clocks")
> Signed-off-by: WenTao Liang <vulab@xxxxxxxxxxx>
> ---
> drivers/clk/ingenic/cgu.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/ingenic/cgu.c b/drivers/clk/ingenic/cgu.c
> index 41e4c69131bd..b59b24d0e3cf 100644
> --- a/drivers/clk/ingenic/cgu.c
> +++ b/drivers/clk/ingenic/cgu.c
> @@ -774,8 +774,10 @@ static int ingenic_register_clock(struct ingenic_cgu *cgu, unsigned idx)
> }
>
> err = clk_register_clkdev(clk, clk_info->name, NULL);
> - if (err)
> + if (err) {
> + clk_unregister(clk);
> goto out;
> + }
>
> cgu->clocks.clks[idx] = clk;
> out:
> --
> 2.39.5 (Apple Git-154)
Please ignore this patch. I will resend a proper version after
learning the kernel submission process.
Apologies for the noise.
Best regards,
WenTao Liang