[PATCH] clk: tegra: tegra124-emc: Fix reference leak in tegra124_clk_register_emc()

Felix Gu posted 1 patch 2 weeks ago
drivers/clk/tegra/clk-tegra124-emc.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] clk: tegra: tegra124-emc: Fix reference leak in tegra124_clk_register_emc()
Posted by Felix Gu 2 weeks ago
The tegra->emc_node is obtained via of_parse_phandle(), which increments
the reference count of the device node. This reference must be released
in the error path when clk_register() fails to avoid a device node
reference leak.
Add the missing of_node_put() call in the error handling path.

Fixes: 2db04f16b589 ("clk: tegra: Add EMC clock driver")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
---
 drivers/clk/tegra/clk-tegra124-emc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/tegra/clk-tegra124-emc.c b/drivers/clk/tegra/clk-tegra124-emc.c
index 251209ac50db..802a6ff4da7a 100644
--- a/drivers/clk/tegra/clk-tegra124-emc.c
+++ b/drivers/clk/tegra/clk-tegra124-emc.c
@@ -537,6 +537,7 @@ struct clk *tegra124_clk_register_emc(void __iomem *base, struct device_node *np
 
 	clk = clk_register(NULL, &tegra->hw);
 	if (IS_ERR(clk)) {
+		of_node_put(tegra->emc_node);
 		kfree(tegra);
 		return clk;
 	}

---
base-commit: a0c666c25aeefd16f4b088c6549a6fb6b65a8a1d
change-id: 20260123-tegra124-b72500d646a4

Best regards,
-- 
Felix Gu <ustc.gu@gmail.com>
Re: [PATCH] clk: tegra: tegra124-emc: Fix reference leak in tegra124_clk_register_emc()
Posted by Markus Elfring 2 weeks ago
…
> Add the missing of_node_put() call in the error handling path.

https://elixir.bootlin.com/linux/v6.19-rc5/source/drivers/clk/tegra/clk-tegra124-emc.c#L540-L542

How do you think about to avoid a bit of duplicate source code here?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?h=v6.19-rc6#n526

Regards,
Markus