| From bebd024e4815b1a170fcd21ead9c2222b23ce9e6 Mon Sep 17 00:00:00 2001 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Tue, 26 Mar 2019 17:36:06 +0100 |
| Subject: x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y |
| |
| From: Thomas Gleixner <tglx@linutronix.de> |
| |
| commit bebd024e4815b1a170fcd21ead9c2222b23ce9e6 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> |
| |
| --- |
| arch/x86/Kconfig | 8 +------- |
| 1 file changed, 1 insertion(+), 7 deletions(-) |
| |
| --- a/arch/x86/Kconfig |
| +++ b/arch/x86/Kconfig |
| @@ -2139,14 +2139,8 @@ config RANDOMIZE_MEMORY_PHYSICAL_PADDING |
| If unsure, leave at the default value. |
| |
| config HOTPLUG_CPU |
| - bool "Support for hot-pluggable CPUs" |
| + def_bool y |
| depends on SMP |
| - ---help--- |
| - Say Y here to allow turning CPUs off and on. CPUs can be |
| - controlled through /sys/devices/system/cpu. |
| - ( Note: power management support will enable this option |
| - automatically on SMP systems. ) |
| - Say N if you want to disable CPU hotplug. |
| |
| config BOOTPARAM_HOTPLUG_CPU0 |
| bool "Set default setting of cpu0_hotpluggable" |