On Sat, 2022-03-05 at 09:44 -0700, dann frazier wrote: > From: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> > > commit 71e5f6644fb2f3304fcb310145ded234a37e7cc1 upstream. > > Commit "sched/topology: Make sched_init_numa() use a set for the > deduplicating sort" allocates 'i + nr_levels (level)' instead of > 'i + nr_levels + 1' sched_domain_topology_level. [] > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c [] > @@ -1655,7 +1655,7 @@ void sched_init_numa(void) > /* Compute default topology size */ > for (i = 0; sched_domain_topology[i].mask; i++); Thanks. Couple trivial notes: A trailing semicolon in a for loop, "for (...);" can be error prone and is also the only usage of that style in kernel/ path. A more common usage might be: i = 0; while (sched_domain_topology[i].mask) i++; > - tl = kzalloc((i + nr_levels) * > + tl = kzalloc((i + nr_levels + 1) * > sizeof(struct sched_domain_topology_level), GFP_KERNEL); kcalloc would be better, although the array is completely set by the loop below so the zeroing isn't necessary. Maybe use kmalloc_array. Doubtful there's an overall impact though.