summaryrefslogtreecommitdiffstats
path: root/drivers/of/of_numa.c
diff options
context:
space:
mode:
authorZhen Lei2016-09-01 08:54:54 +0200
committerWill Deacon2016-09-09 15:59:08 +0200
commit571a588fec2de4efd6043805ab0b017c67b63a4d (patch)
treef598d7c37d832a61be56ef46ac1ec435779863c4 /drivers/of/of_numa.c
parentof/numa: fix a memory@ node can only contains one memory block (diff)
downloadkernel-qcow2-linux-571a588fec2de4efd6043805ab0b017c67b63a4d.tar.gz
kernel-qcow2-linux-571a588fec2de4efd6043805ab0b017c67b63a4d.tar.xz
kernel-qcow2-linux-571a588fec2de4efd6043805ab0b017c67b63a4d.zip
of/numa: add nid check for memory block
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>
Diffstat (limited to 'drivers/of/of_numa.c')
-rw-r--r--drivers/of/of_numa.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c
index 7b3fbdc0b278..c1bd62ce3144 100644
--- a/drivers/of/of_numa.c
+++ b/drivers/of/of_numa.c
@@ -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);