KVM: x86: Don't check kvm_rebooting in __kvm_handle_fault_on_reboot()
authorSean Christopherson <sean.j.christopherson@intel.com>
Fri, 19 Jul 2019 20:41:10 +0000 (13:41 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 25 Sep 2019 13:30:19 +0000 (15:30 +0200)
Remove the kvm_rebooting check from VMX/SVM instruction exception fixup
now that kvm_spurious_fault() conditions its BUG() on !kvm_rebooting.
Because the 'cleanup_insn' functionally is also gone, deferring to
kvm_spurious_fault() means __kvm_handle_fault_on_reboot() can eliminate
its .fixup code entirely and have its exception table entry branch
directly to the call to kvm_spurious_fault().

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h

index 202f4d4..23edf56 100644 (file)
@@ -1549,13 +1549,7 @@ asmlinkage void kvm_spurious_fault(void);
        "667: \n\t"                                                     \
        "call   kvm_spurious_fault \n\t"                                \
        "668: \n\t"                                                     \
-       ".pushsection .fixup, \"ax\" \n\t"                              \
-       "700: \n\t"                                                     \
-       "cmpb   $0, kvm_rebooting\n\t"                                  \
-       "je     667b \n\t"                                              \
-       "jmp    668b \n\t"                                              \
-       ".popsection \n\t"                                              \
-       _ASM_EXTABLE(666b, 700b)
+       _ASM_EXTABLE(666b, 667b)
 
 #define KVM_ARCH_WANT_MMU_NOTIFIER
 int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end);