diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c index 7b3fbdc0b278d2dc187909f42b96a0f10d1a4fc7..c1bd62ce3144d973861414125a9d669b7e08c719 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);