From 66c7ceb47f628c8bd4f84a6d01c2725ded6a342d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 14 Apr 2019 18:00:04 +0200 Subject: x86/irq/32: Handle irq stack allocation failure proper irq_ctx_init() crashes hard on page allocation failures. While that's ok during early boot, it's just wrong in the CPU hotplug bringup code. Check the page allocation failure and return -ENOMEM and handle it at the call sites. On early boot the only way out is to BUG(), but on CPU hotplug there is no reason to crash, so just abort the operation. Rename the function to something more sensible while at it. Signed-off-by: Thomas Gleixner Signed-off-by: Borislav Petkov Cc: Alison Schofield Cc: Andrew Morton Cc: Andy Lutomirski Cc: Anshuman Khandual Cc: Boris Ostrovsky Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: Josh Poimboeuf Cc: Juergen Gross Cc: Konrad Rzeszutek Wilk Cc: Nicolai Stange Cc: Pu Wen Cc: Sean Christopherson Cc: Shaokun Zhang Cc: Stefano Stabellini Cc: Suravee Suthikulpanit Cc: x86-ml Cc: xen-devel@lists.xenproject.org Cc: Yazen Ghannam Cc: Yi Wang Cc: Zhenzhong Duan Link: https://lkml.kernel.org/r/20190414160146.089060584@linutronix.de --- arch/x86/include/asm/smp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/x86/include/asm/smp.h') diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h index 2e95b6c1bca3..da545df207b2 100644 --- a/arch/x86/include/asm/smp.h +++ b/arch/x86/include/asm/smp.h @@ -131,7 +131,7 @@ void native_smp_prepare_boot_cpu(void); void native_smp_prepare_cpus(unsigned int max_cpus); void calculate_max_logical_packages(void); void native_smp_cpus_done(unsigned int max_cpus); -void common_cpu_up(unsigned int cpunum, struct task_struct *tidle); +int common_cpu_up(unsigned int cpunum, struct task_struct *tidle); int native_cpu_up(unsigned int cpunum, struct task_struct *tidle); int native_cpu_disable(void); int common_cpu_die(unsigned int cpu); -- cgit v1.2.3-59-g8ed1b