Message ID | 1470647899-6324-4-git-send-email-thunder.leizhen@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2016/8/8 17:18, Zhen Lei wrote: > Use the same tactic to cpu and numa-distance nodes. > > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > --- > arch/arm64/mm/numa.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c > index c7fe3ec..2601660 100644 > --- a/arch/arm64/mm/numa.c > +++ b/arch/arm64/mm/numa.c > @@ -141,6 +141,11 @@ int __init numa_add_memblk(int nid, u64 start, u64 end) > { > int ret; > > + if (nid >= MAX_NUMNODES) { > + pr_warn("NUMA: Node id %u exceeds maximum value\n", nid); > + return -EINVAL; > + } I think this check should be added to of_numa_parse_memory_nodes(), which before the numa_add_memblk() called, it's the same logic in of_numa_parse_cpu_nodes() and the node id is checked before calling numa_add_memblk() in ACPI. Thanks Hanjun
On 2016/8/10 10:12, Hanjun Guo wrote: > On 2016/8/8 17:18, Zhen Lei wrote: >> Use the same tactic to cpu and numa-distance nodes. >> >> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> >> --- >> arch/arm64/mm/numa.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c >> index c7fe3ec..2601660 100644 >> --- a/arch/arm64/mm/numa.c >> +++ b/arch/arm64/mm/numa.c >> @@ -141,6 +141,11 @@ int __init numa_add_memblk(int nid, u64 start, u64 end) >> { >> int ret; >> >> + if (nid >= MAX_NUMNODES) { >> + pr_warn("NUMA: Node id %u exceeds maximum value\n", nid); >> + return -EINVAL; >> + } > > I think this check should be added to of_numa_parse_memory_nodes(), which before > the numa_add_memblk() called, it's the same logic in of_numa_parse_cpu_nodes() and > the node id is checked before calling numa_add_memblk() in ACPI. Yes, you are right. This check is arch independent. > > Thanks > Hanjun > > > > . >
diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c index c7fe3ec..2601660 100644 --- a/arch/arm64/mm/numa.c +++ b/arch/arm64/mm/numa.c @@ -141,6 +141,11 @@ int __init numa_add_memblk(int nid, u64 start, u64 end) { int ret; + if (nid >= MAX_NUMNODES) { + pr_warn("NUMA: Node id %u exceeds maximum value\n", nid); + return -EINVAL; + } + ret = memblock_set_node(start, (end - start), &memblock.memory, nid); if (ret < 0) { pr_err("NUMA: memblock [0x%llx - 0x%llx] failed to add on node %d\n",
Use the same tactic to cpu and numa-distance nodes. Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> --- arch/arm64/mm/numa.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.5.0