Patch "x86/reboot: Turn off KVM when halting a CPU" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
x86/reboot: Turn off KVM when halting a CPU
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
x86-reboot-turn-off-kvm-when-halting-a-cpu.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Mar 22 14:40:23 CET 2018
From: Tiantian Feng <[email protected]>
Date: Wed, 19 Apr 2017 18:18:39 +0200
Subject: x86/reboot: Turn off KVM when halting a CPU
From: Tiantian Feng <[email protected]>
[ Upstream commit fba4f472b33aa81ca1836f57d005455261e9126f ]
A CPU in VMX root mode will ignore INIT signals and will fail to bring up the APs after reboot. Therefore, on a panic we disable VMX on all CPUs before rebooting or triggering kdump.
Do this when halting the machine as well, in case a firmware-level reboot does not perform a cold reset for all processors. Without doing this, rebooting the host may hang.
--- arch/x86/kernel/smp.c | 3 +++ 1 file changed, 3 insertions(+)
arch/x86/kernel/smp.c +3 -0
@@ -33,6 +33,7 @@#include <asm/mce.h> #include <asm/trace/irq_vectors.h> #include <asm/kexec.h> +#include <asm/virtext.h> /* * Some notes on x86 processor bugs affecting SMP operation:
@@ -162,6 +163,7 @@ static int smp_stop_nmi_callback(unsigneif (raw_smp_processor_id () ==atomic_read (&stopping_cpu))return NMI_HANDLED ; +cpu_emergency_vmxoff ();stop_this_cpu (NULL );return NMI_HANDLED ;
@@ -174,6 +176,7 @@ static int smp_stop_nmi_callback(unsigne asmlinkage __visible void smp_reboot_interrupt(void) {ipi_entering_ack_irq (); +cpu_emergency_vmxoff ();stop_this_cpu (NULL );irq_exit (); }
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/x86-reboot-turn-off-kvm-when-halting-a-cpu.patch