[PATCH V2] KVM: x86: disable stealtime on reboot to avoid mem corruption

From: Florian Westphal
Date: Wed Aug 15 2012 - 10:00:11 EST


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@xxxxxxxxx>
---
arch/x86/kernel/kvm.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

Changes since v1:
- leave arch/x86/kernel/kvmclock.c as-is (requested by Marcelo)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index c1d61ee..1596cc8 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -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,
--
1.7.8.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/