[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1418140999-29092-1-git-send-email-bobby.prani@gmail.com>
Date: Tue, 9 Dec 2014 11:03:17 -0500
From: Pranith Kumar <bobby.prani@...il.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
x86@...nel.org (maintainer:X86 ARCHITECTURE...),
Toshi Kani <toshi.kani@...com>,
Igor Mammedov <imammedo@...hat.com>,
David Rientjes <rientjes@...gle.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Lan Tianyu <tianyu.lan@...el.com>,
linux-kernel@...r.kernel.org (open list:X86 ARCHITECTURE...)
Subject: [RFC PATCH] smpboot: Check for successfull allocation of cpumask vars
zalloc_cpumask_var() can return 0 on allocation failure when
CONFIG_CPUMASK_OFFSTACK is set. Check for the return value and WARN() on failure
of an allocation in such cases.
Signed-off-by: Pranith Kumar <bobby.prani@...il.com>
---
arch/x86/kernel/smpboot.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 7a8f584..9b1df21 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1083,6 +1083,7 @@ static void __init smp_cpu_index_default(void)
void __init native_smp_prepare_cpus(unsigned int max_cpus)
{
unsigned int i;
+ bool ret = true;
preempt_disable();
smp_cpu_index_default();
@@ -1096,9 +1097,12 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
current_thread_info()->cpu = 0; /* needed? */
for_each_possible_cpu(i) {
- zalloc_cpumask_var(&per_cpu(cpu_sibling_map, i), GFP_KERNEL);
- zalloc_cpumask_var(&per_cpu(cpu_core_map, i), GFP_KERNEL);
- zalloc_cpumask_var(&per_cpu(cpu_llc_shared_map, i), GFP_KERNEL);
+ ret &= zalloc_cpumask_var(&per_cpu(cpu_sibling_map, i), GFP_KERNEL);
+ ret &= zalloc_cpumask_var(&per_cpu(cpu_core_map, i), GFP_KERNEL);
+ ret &= zalloc_cpumask_var(&per_cpu(cpu_llc_shared_map, i), GFP_KERNEL);
+
+ if (WARN(!ret, "cpumask alloc for cpu %d failed!", i))
+ break;
}
set_cpu_sibling_map(0);
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists