From dbab111b268f51e5e614f6fdec1ac8cfd5577a46 Mon Sep 17 00:00:00 2001 From: Tang Chen Date: Tue, 25 Sep 2012 21:12:30 +0800 Subject: [PATCH] --- yaml --- r: 333863 b: refs/heads/master c: 5f7865f3e44db4c73fdc454fb2af40806212a7ca h: refs/heads/master i: 333861: 92532407e41aab701535d739fb87e2fe69753dcc 333859: 212c48104d0f5ec6e959fa883002a65413daf053 333855: 88ced7231956a3dd7a081a33f41c2950452043af v: v3 --- [refs] | 2 +- trunk/kernel/sched/core.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 8581040b8393..8bce61cfd3d0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2b17c545a4cdbbbadcd7f1e9684c2d7db8f085a6 +refs/heads/master: 5f7865f3e44db4c73fdc454fb2af40806212a7ca diff --git a/trunk/kernel/sched/core.c b/trunk/kernel/sched/core.c index c17747236438..f895fdd32c5b 100644 --- a/trunk/kernel/sched/core.c +++ b/trunk/kernel/sched/core.c @@ -6122,6 +6122,17 @@ static void sched_init_numa(void) * numbers. */ + /* + * Here, we should temporarily reset sched_domains_numa_levels to 0. + * If it fails to allocate memory for array sched_domains_numa_masks[][], + * the array will contain less then 'level' members. This could be + * dangerous when we use it to iterate array sched_domains_numa_masks[][] + * in other functions. + * + * We reset it to 'level' at the end of this function. + */ + sched_domains_numa_levels = 0; + sched_domains_numa_masks = kzalloc(sizeof(void *) * level, GFP_KERNEL); if (!sched_domains_numa_masks) return; @@ -6176,6 +6187,8 @@ static void sched_init_numa(void) } sched_domain_topology = tl; + + sched_domains_numa_levels = level; } #else static inline void sched_init_numa(void)