]> git.hungrycats.org Git - linux/commitdiff
KVM: Make EFER reads safe when EFER does not exist
authorAvi Kivity <avi@redhat.com>
Sun, 3 May 2009 15:50:55 +0000 (18:50 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 18 May 2009 23:35:19 +0000 (16:35 -0700)
commit e286e86e6d2042d67d09244aa0e05ffef75c9d54 upstream.

Some processors don't have EFER; don't oops if userspace wants us to
read EFER when we check NX.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kvm/x86.c

index 425423eff489dceeb94cdd17c4d090ffb4f8d63a..92f0457ebe58b0d12726f0e9231597b5c802a206 100644 (file)
@@ -1075,9 +1075,9 @@ void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
 
 static int is_efer_nx(void)
 {
-       u64 efer;
+       unsigned long long efer = 0;
 
-       rdmsrl(MSR_EFER, efer);
+       rdmsrl_safe(MSR_EFER, &efer);
        return efer & EFER_NX;
 }