KVM guest: disable stealtime on reboot to avoid mem corruption
authorFlorian Westphal <fw@strlen.de>
Wed, 15 Aug 2012 14:00:40 +0000 (16:00 +0200)
committerMarcelo Tosatti <mtosatti@redhat.com>
Wed, 15 Aug 2012 18:31:24 +0000 (15:31 -0300)
else, host continues to update stealtime after reboot,
which can corrupt e.g. initramfs area.
found when tracking down initramfs unpack error on initial reboot
(with qemu-kvm -smp 2, no problem with single-core).

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/kernel/kvm.c

index c1d61ee4b4f12acfe6094b5c81bf3566cb6df0b3..1596cc8fd79304554d83cbcb2f9c48f56c4d42b8 100644 (file)
@@ -354,6 +354,7 @@ static void kvm_pv_guest_cpu_reboot(void *unused)
        if (kvm_para_has_feature(KVM_FEATURE_PV_EOI))
                wrmsrl(MSR_KVM_PV_EOI_EN, 0);
        kvm_pv_disable_apf();
+       kvm_disable_steal_time();
 }
 
 static int kvm_pv_reboot_notify(struct notifier_block *nb,