Message ID | 1472024693-12912-4-git-send-email-thunder.leizhen@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 24, 2016 at 03:44:42PM +0800, Zhen Lei wrote: > Use the same tactic to cpu and numa-distance nodes. > > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > --- > drivers/of/of_numa.c | 5 +++++ > 1 file changed, 5 insertions(+) The subject has arm64/numa, but this is clearly core OF code and requires an ack from Rob. The commit message also doesn't make much sense to me. > diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c > index 7b3fbdc..afaeb9c 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); > + return -EINVAL; > + } Do you really want to return from the function here? Shouldn't we at least of_node_put(np), i.e. by using a break; ? Will
On 2016/8/26 20:39, Will Deacon wrote: > On Wed, Aug 24, 2016 at 03:44:42PM +0800, Zhen Lei wrote: >> Use the same tactic to cpu and numa-distance nodes. >> >> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> >> --- >> drivers/of/of_numa.c | 5 +++++ >> 1 file changed, 5 insertions(+) > > The subject has arm64/numa, but this is clearly core OF code and I originally added below check in arch/arm64/mm/numa.c, until Hanjun Guo told me that it should move into drivers/of/of_numa.c I forgot updating this. > requires an ack from Rob. > > The commit message also doesn't make much sense to me. > >> diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c >> index 7b3fbdc..afaeb9c 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); >> + return -EINVAL; >> + } > > Do you really want to return from the function here? Shouldn't we at least > of_node_put(np), i.e. by using a break; ? Thanks for pointing out this mistake. I will change to "r = -EINVAL" in the next version. > > Will > > . >
diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c index 7b3fbdc..afaeb9c 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); + return -EINVAL; + } + for (i = 0; !r && !of_address_to_resource(np, i, &rsrc); i++) r = numa_add_memblk(nid, rsrc.start, rsrc.end + 1);
Use the same tactic to cpu and numa-distance nodes. Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> --- drivers/of/of_numa.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.5.0