linux/arch
Thomas Gleixner 6e9a71475e x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y
commit bebd024e48 upstream.

The SMT disable 'nosmt' command line argument is not working properly when
CONFIG_HOTPLUG_CPU is disabled. The teardown of the sibling CPUs which are
required to be brought up due to the MCE issues, cannot work. The CPUs are
then kept in a half dead state.

As the 'nosmt' functionality has become popular due to the speculative
hardware vulnerabilities, the half torn down state is not a proper solution
to the problem.

Enforce CONFIG_HOTPLUG_CPU=y when SMP is enabled so the full operation is
possible.

Reported-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Konrad Wilk <konrad.wilk@oracle.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Mukesh Ojha <mojha@codeaurora.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Rik van Riel <riel@surriel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Micheal Kelley <michael.h.kelley@microsoft.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20190326163811.598166056@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-03 06:24:19 +02:00
..
alpha alpha: Fix Eiger NR_IRQS to 128 2019-02-20 10:18:32 +01:00
arc ARC: uacces: remove lp_start, lp_end from clobber list 2019-03-23 13:19:44 +01:00
arm ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time 2019-04-03 06:24:16 +02:00
arm64 arm64: traps: disable irq in die() 2019-03-27 14:13:04 +09:00
avr32
blackfin
c6x
cris
frv futex: Remove duplicated code and fix undefined behaviour 2018-05-19 10:27:00 +02:00
h8300
hexagon hexagon: modify ffs() and fls() to return int 2018-10-10 08:53:21 +02:00
ia64 kbuild: Consolidate header generation from ASM offset information 2018-11-23 08:20:34 +01:00
m32r
m68k m68k: Add -ffreestanding to CFLAGS 2019-03-23 13:19:47 +01:00
metag
microblaze microblaze: Fix simpleImage format generation 2018-08-03 07:55:25 +02:00
mips MIPS: Fix kernel crash for R6 in jump label branch function 2019-03-27 14:13:02 +09:00
mn10300
nios2
openrisc kthread: fix boot hang (regression) on MIPS/OpenRISC 2018-09-19 22:47:11 +02:00
parisc parisc: Fix ptrace syscall number modification 2019-02-27 10:07:01 +01:00
powerpc powerpc: bpf: Fix generation of load/store DW instructions 2019-04-03 06:24:16 +02:00
s390 s390/smp: Fix calling smp_call_ipl_cpu() from ipl CPU 2019-01-31 08:12:36 +01:00
score
sh sh: fix debug trap failure to process signals before return to user 2018-05-30 07:50:39 +02:00
sparc sparc64: Make proc_id signed. 2018-11-13 11:16:47 -08:00
tile futex: Remove duplicated code and fix undefined behaviour 2018-05-19 10:27:00 +02:00
um um: Avoid marking pages with "changed protection" 2019-02-12 19:44:58 +01:00
unicore32
x86 x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y 2019-04-03 06:24:19 +02:00
xtensa xtensa: SMP: limit number of possible CPUs by NR_CPUS 2019-03-13 14:04:56 -07:00
.gitignore
Kconfig cpu/hotplug: Provide knobs to control SMT 2018-08-15 18:14:46 +02:00