of/numa: add nid check for memory block
authorZhen Lei <thunder.leizhen@huawei.com>
Thu, 1 Sep 2016 06:54:54 +0000 (14:54 +0800)
committerWill Deacon <will.deacon@arm.com>
Fri, 9 Sep 2016 13:59:08 +0000 (14:59 +0100)
If the numa-id which was configured in memory@ devicetree node is greater
than MAX_NUMNODES, we should report a warning. We have done this for cpus
and distance-map dt nodes, this patch help them to be consistent.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/of/of_numa.c

index 7b3fbdc0b278d2dc187909f42b96a0f10d1a4fc7..c1bd62ce3144d973861414125a9d669b7e08c719 100644 (file)
@@ -75,6 +75,11 @@ static int __init of_numa_parse_memory_nodes(void)
                         */
                        continue;
 
+               if (nid >= MAX_NUMNODES) {
+                       pr_warn("NUMA: Node id %u exceeds maximum value\n", nid);
+                       r = -EINVAL;
+               }
+
                for (i = 0; !r && !of_address_to_resource(np, i, &rsrc); i++)
                        r = numa_add_memblk(nid, rsrc.start, rsrc.end + 1);