[PATCH] ARM: ux500: Fix refcount leak in ux500_pm_domains_init

Miaoqian Lin linmq006 at gmail.com
Mon Jan 2 01:47:33 PST 2023


of_irq_find_parent() returns a node pointer with refcount incremented,
We should use of_node_put() on it when not needed anymore.
Add missing of_node_put() in the error path to avoid refcount leak.

Fixes: cd931dcfda5e ("ARM: ux500: Initial support for PM domains")
Signed-off-by: Miaoqian Lin <linmq006 at gmail.com>
---
 arch/arm/mach-ux500/pm_domains.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-ux500/pm_domains.c b/arch/arm/mach-ux500/pm_domains.c
index 427b9ac4af6c..01cae91854ca 100644
--- a/arch/arm/mach-ux500/pm_domains.c
+++ b/arch/arm/mach-ux500/pm_domains.c
@@ -65,8 +65,10 @@ int __init ux500_pm_domains_init(void)
 		return -ENODEV;
 
 	genpd_data = kzalloc(sizeof(*genpd_data), GFP_KERNEL);
-	if (!genpd_data)
+	if (!genpd_data) {
+		of_node_put(np);
 		return -ENOMEM;
+	}
 
 	genpd_data->domains = ux500_pm_domains;
 	genpd_data->num_domains = ARRAY_SIZE(ux500_pm_domains);
-- 
2.25.1




More information about the linux-arm-kernel mailing list