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)
committerRob Herring <robh@kernel.org>
Tue, 18 Apr 2017 16:04:12 +0000 (11:04 -0500)
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>
Cc: stable@vger.kernel.org # v4.7+
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/of_numa.c

index a53982a330ea40444ac4e161b5838bb4aed1a013..2db1f7a04baf01af9c9707d9f8c3a9fdb0a5b5f8 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)