The reason for skipping handling of NMI and #MC in handle_exception is
the same, namely they are handled earlier by vmx_complete_atomic_exit.
Calling the machine check handler (which just returns 1) is misleading,
don't do it.

Signed-off-by: Paolo Bonzini <[email protected]>
---
 arch/x86/kvm/vmx/vmx.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 1b3ca0582a0c..da6c829bad9f 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -4455,11 +4455,8 @@ static int handle_exception(struct kvm_vcpu *vcpu)
        vect_info = vmx->idt_vectoring_info;
        intr_info = vmx->exit_intr_info;
 
-       if (is_machine_check(intr_info))
-               return handle_machine_check(vcpu);
-
-       if (is_nmi(intr_info))
-               return 1;  /* already handled by vmx_vcpu_run() */
+       if (is_machine_check(intr_info) || is_nmi(intr_info))
+               return 1;  /* already handled by vmx_complete_atomic_exit */
 
        if (is_invalid_opcode(intr_info))
                return handle_ud(vcpu);
-- 
1.8.3.1


Reply via email to