From: Haoxiang Li Date: Wed, 25 Mar 2026 06:22:04 +0000 (+0800) Subject: clk: spear: fix resource leak in clk_register_vco_pll() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a0ac82cbed1007afd89e30940fe2335b61666783;p=thirdparty%2Fkernel%2Flinux.git clk: spear: fix resource leak in clk_register_vco_pll() Add a goto label in clk_register_vco_pll(), unregister vco_clk if tpll_clk is failed to be registered. Signed-off-by: Haoxiang Li Acked-by: Viresh Kumar Link: https://lore.kernel.org/r/20260325062204.169648-1-lihaoxiang@isrc.iscas.ac.cn Signed-off-by: Arnd Bergmann --- diff --git a/drivers/clk/spear/clk-vco-pll.c b/drivers/clk/spear/clk-vco-pll.c index 601e123f5c4b5..faba727e2f843 100644 --- a/drivers/clk/spear/clk-vco-pll.c +++ b/drivers/clk/spear/clk-vco-pll.c @@ -343,13 +343,15 @@ struct clk *clk_register_vco_pll(const char *vco_name, const char *pll_name, tpll_clk = clk_register(NULL, &pll->hw); if (IS_ERR_OR_NULL(tpll_clk)) - goto free_pll; + goto unregister_clk; if (pll_clk) *pll_clk = tpll_clk; return vco_clk; +unregister_clk: + clk_unregister(vco_clk); free_pll: kfree(pll); free_vco: