[PATCH 4.9 062/164] of: fix "/cpus" reference leak in of_numa_parse_cpu_nodes()

From: Greg Kroah-Hartman
Date: Tue May 23 2017 - 16:29:50 EST


4.9-stable review patch. If anyone has any objections, please let me know.

------------------

From: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx>

commit b8475cbee5ab2eac05f9cd5dbcc94c453d3cbf10 upstream.

The call to of_find_node_by_path("/cpus") returns the cpus device_node
with its reference count incremented. There is no matching of_node_put()
call in of_numa_parse_cpu_nodes() which results in a leaked reference
to the "/cpus" node.

This patch adds an of_node_put() to release the reference.

fixes: 298535c00a2c ("of, numa: Add NUMA of binding implementation.")
Signed-off-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxxxxxxx>
Acked-by: David Daney <david.daney@xxxxxxxxxx>
Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/of/of_numa.c | 2 ++
1 file changed, 2 insertions(+)

--- a/drivers/of/of_numa.c
+++ b/drivers/of/of_numa.c
@@ -57,6 +57,8 @@ static void __init of_numa_parse_cpu_nod
else
node_set(nid, numa_nodes_parsed);
}
+
+ of_node_put(cpus);
}

static int __init of_numa_parse_memory_nodes(void)