[PATCH] csky: fix refcount leak in setup_smp()
From: Yangtao Li
Date: Thu Dec 27 2018 - 11:27:18 EST
The of_find_node_by_type() returns a node pointer with refcount
incremented, but there is the lack of use of the of_node_put() when
done. Add the missing of_node_put() to release the refcount.
Signed-off-by: Yangtao Li <tiny.windzz@xxxxxxxxx>
---
arch/csky/kernel/smp.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/csky/kernel/smp.c b/arch/csky/kernel/smp.c
index 36ebaf9834e1..adec56df613b 100644
--- a/arch/csky/kernel/smp.c
+++ b/arch/csky/kernel/smp.c
@@ -139,11 +139,17 @@ void __init setup_smp(void)
int cpu;
while ((node = of_find_node_by_type(node, "cpu"))) {
- if (!of_device_is_available(node))
+ if (!of_device_is_available(node)) {
+ of_node_put(node);
continue;
+ }
- if (of_property_read_u32(node, "reg", &cpu))
+ if (of_property_read_u32(node, "reg", &cpu)) {
+ of_node_put(node);
continue;
+ }
+
+ of_node_put(node);
if (cpu >= NR_CPUS)
continue;
--
2.17.0