diff options
author | Avi Kivity <avi@redhat.com> | 2010-12-02 17:55:23 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-01-12 11:30:20 +0200 |
commit | a295673aba42895997a6c1be87f467a7cfc0f332 (patch) | |
tree | da66b4023d9ea0ae58e253c1a7decfe7765a0838 /arch/x86/kvm | |
parent | b7c4145ba2eb0717db0ddac1b5f7f48012189c53 (diff) | |
download | op-kernel-dev-a295673aba42895997a6c1be87f467a7cfc0f332.zip op-kernel-dev-a295673aba42895997a6c1be87f467a7cfc0f332.tar.gz |
KVM: VMX: Return 0 from a failed VMREAD
If we execute VMREAD during reboot we'll just skip over it. Instead of
returning garbage, return 0, which has a much smaller chance of confusing
the code. Otherwise we risk a flood of debug printk()s which block the
reboot process if a serial console or netconsole is enabled.
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r-- | arch/x86/kvm/vmx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index ab05ff6..f3693ca 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -565,10 +565,10 @@ static inline void ept_sync_individual_addr(u64 eptp, gpa_t gpa) static unsigned long vmcs_readl(unsigned long field) { - unsigned long value; + unsigned long value = 0; asm volatile (__ex(ASM_VMX_VMREAD_RDX_RAX) - : "=a"(value) : "d"(field) : "cc"); + : "+a"(value) : "d"(field) : "cc"); return value; } |