of: fix "/cpus" reference leak in of_numa_parse_cpu_nodes()
authorTyrel Datwyler <tyreld@linux.vnet.ibm.com>
Tue, 18 Apr 2017 00:29:17 +0000 (20:29 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 May 2017 13:44:37 +0000 (15:44 +0200)
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@linux.vnet.ibm.com>
Acked-by: David Daney <david.daney@cavium.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/of/of_numa.c

index a53982a..2db1f7a 100644 (file)
@@ -57,6 +57,8 @@ static void __init of_numa_parse_cpu_nodes(void)
                else
                        node_set(nid, numa_nodes_parsed);
        }
+
+       of_node_put(cpus);
 }
 
 static int __init of_numa_parse_memory_nodes(void)