sched: Fix potential NULL derference of doms_cur
authorYong Zhang <yong.zhang0@gmail.com>
Mon, 14 Sep 2009 12:20:16 +0000 (20:20 +0800)
committerIngo Molnar <mingo@elte.hu>
Sun, 20 Sep 2009 18:20:30 +0000 (20:20 +0200)
If CONFIG_CPUMASK_OFFSTACK is enabled but doms_cur alloc failed in
arch_init_sched_domains(), doms_cur will move back to
fallback_doms. But this time, fallback_doms has not been
initialized yet.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Cc: a.p.zijlstra@chello.nl
LKML-Reference: <1252930816-7672-1-git-send-email-yong.zhang0@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c

index 575fb0139038018b6636f28c5a45c528ab0c0850..1b900fb1c6e13386740f14e2032592deb0b5ea74 100644 (file)
@@ -9165,6 +9165,7 @@ void __init sched_init_smp(void)
        cpumask_var_t non_isolated_cpus;
 
        alloc_cpumask_var(&non_isolated_cpus, GFP_KERNEL);
+       alloc_cpumask_var(&fallback_doms, GFP_KERNEL);
 
 #if defined(CONFIG_NUMA)
        sched_group_nodes_bycpu = kzalloc(nr_cpu_ids * sizeof(void **),
@@ -9196,7 +9197,6 @@ void __init sched_init_smp(void)
        sched_init_granularity();
        free_cpumask_var(non_isolated_cpus);
 
-       alloc_cpumask_var(&fallback_doms, GFP_KERNEL);
        init_sched_rt_class();
 }
 #else