percpu: use nr_groups as check condition
authorPeng Fan <peng.fan@nxp.com>
Wed, 20 Feb 2019 13:32:55 +0000 (13:32 +0000)
committerDennis Zhou <dennis@kernel.org>
Sat, 23 Feb 2019 22:36:53 +0000 (14:36 -0800)
group_cnt array is defined with NR_CPUS entries, but normally
nr_groups will not reach up to NR_CPUS. So there is no issue
to the current code.

Checking other parts of pcpu_build_alloc_info, use nr_groups as
check condition, so make it consistent to use 'group < nr_groups'
as for loop check. In case we do have nr_groups equals with NR_CPUS,
we could also avoid memory access out of bounds.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Dennis Zhou <dennis@kernel.org>
mm/percpu.c

index db86282..c5c7507 100644 (file)
@@ -2384,7 +2384,7 @@ static struct pcpu_alloc_info * __init pcpu_build_alloc_info(
        ai->atom_size = atom_size;
        ai->alloc_size = alloc_size;
 
-       for (group = 0, unit = 0; group_cnt[group]; group++) {
+       for (group = 0, unit = 0; group < nr_groups; group++) {
                struct pcpu_group_info *gi = &ai->groups[group];
 
                /*