On Mon, Jul 23, 2018 at 12:19:07PM +0800, Yi Wang wrote: > The variable group in sched_domain_debug_one() is not checked > when firstly used in cpumask_test_cpu(cpu, sched_group_span(group)), > but it maybe NULL(checked later in the following while loop) and may > cause NULL pointer dereference without checking. We need to check it > before using to avoid NULL dereference.
It being NULL really is a fairly severe error in construction; but sure. This patch won't hurt. > Signed-off-by: Yi Wang <wang.y...@zte.com.cn> > Reviewed-by: Jiang Biao <jiang.bi...@zte.com.cn> > --- > kernel/sched/topology.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c > index 5ac724b..c7cf87c 100644 > --- a/kernel/sched/topology.c > +++ b/kernel/sched/topology.c > @@ -53,7 +53,7 @@ static int sched_domain_debug_one(struct sched_domain *sd, > int cpu, int level, > printk(KERN_ERR "ERROR: domain->span does not contain " > "CPU%d\n", cpu); > } > - if (!cpumask_test_cpu(cpu, sched_group_span(group))) { > + if (group && !cpumask_test_cpu(cpu, sched_group_span(group))) { > printk(KERN_ERR "ERROR: domain->groups does not contain" > " CPU%d\n", cpu); > } > -- > 1.8.3.1 >