Re: [PATCH v2 5/5] KVM: x86: Don't check kvm_rebooting in __kvm_handle_fault_on_reboot()

From: Paolo Bonzini
Date: Fri Jul 19 2019 - 17:41:26 EST


On 19/07/19 22:41, Sean Christopherson wrote:
> 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@xxxxxxxxxx>
> Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> ---
> arch/x86/include/asm/kvm_host.h | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
> index 92c59cd923b6..a5ae5562ce0a 100644
> --- a/arch/x86/include/asm/kvm_host.h
> +++ b/arch/x86/include/asm/kvm_host.h
> @@ -1511,13 +1511,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);
>

Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>