[PATCH] ARM: hisi: Fix refcount leak in hi3xxx_smp_prepare_cpus

Miaoqian Lin linmq006 at gmail.com
Wed May 11 19:58:38 PDT 2022


of_find_compatible_node() returns a node pointer with refcount
incremented, we should use of_node_put() on it when done.
Add missing of_node_put() to avoid refcount leak.

Fixes: a9434e96d9f0 ("ARM: hi3xxx: add smp support")
Signed-off-by: Miaoqian Lin <linmq006 at gmail.com>
---
 arch/arm/mach-hisi/platsmp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-hisi/platsmp.c b/arch/arm/mach-hisi/platsmp.c
index a56cc64deeb8..15e63b72df3a 100644
--- a/arch/arm/mach-hisi/platsmp.c
+++ b/arch/arm/mach-hisi/platsmp.c
@@ -68,13 +68,16 @@ static void __init hi3xxx_smp_prepare_cpus(unsigned int max_cpus)
 		ctrl_base = of_iomap(np, 0);
 		if (!ctrl_base) {
 			pr_err("failed to map address\n");
+			of_node_put(np);
 			return;
 		}
 		if (of_property_read_u32(np, "smp-offset", &offset) < 0) {
 			pr_err("failed to find smp-offset property\n");
+			of_node_put(np);
 			return;
 		}
 		ctrl_base += offset;
+		of_node_put(np);
 	}
 }
 
-- 
2.25.1




More information about the linux-arm-kernel mailing list