[PATCH v2] clk/samsung: fix parent clock refcount leak in exynos_clkout_probe

From: WenTao Liang

Date: Sun Jun 28 2026 - 08:54:53 EST


of_clk_get_by_name() acquires clock references stored in the local
parents[] array. All error paths correctly release these via the clks_put
label, but the success path returns 0 without releasing the parent
references. The references were only needed to obtain clock names for
registration and are permanently leaked after probe completes.

Suggested-by: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
Fixes: 9484f2cb8332 ("clk: samsung: exynos-clkout: convert to module driver")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: WenTao Liang <vulab@xxxxxxxxxxx>
---
Changes in v2:
- Fix patch format based on reviewer feedback
---
drivers/clk/samsung/clk-exynos-clkout.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/clk/samsung/clk-exynos-clkout.c b/drivers/clk/samsung/clk-exynos-clkout.c
index 5b21025338bd..71724b56de69 100644
--- a/drivers/clk/samsung/clk-exynos-clkout.c
+++ b/drivers/clk/samsung/clk-exynos-clkout.c
@@ -190,6 +190,10 @@ static int exynos_clkout_probe(struct platform_device *pdev)
if (ret)
goto err_clk_unreg;

+ for (i = 0; i < parent_count; ++i)
+ if (!IS_ERR(parents[i]))
+ clk_put(parents[i]);
+
return 0;

err_clk_unreg:
--
2.39.5 (Apple Git-154)