diff options
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r-- | arch/x86/kvm/vmx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 53bf6ae493e3..89130ba3b698 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -3905,7 +3905,8 @@ static void vmx_complete_atomic_exit(struct vcpu_vmx *vmx) | |||
3905 | kvm_machine_check(); | 3905 | kvm_machine_check(); |
3906 | 3906 | ||
3907 | /* We need to handle NMIs before interrupts are enabled */ | 3907 | /* We need to handle NMIs before interrupts are enabled */ |
3908 | if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR && | 3908 | if (vmx->exit_reason == EXIT_REASON_EXCEPTION_NMI && |
3909 | (exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR && | ||
3909 | (exit_intr_info & INTR_INFO_VALID_MASK)) { | 3910 | (exit_intr_info & INTR_INFO_VALID_MASK)) { |
3910 | kvm_before_handle_nmi(&vmx->vcpu); | 3911 | kvm_before_handle_nmi(&vmx->vcpu); |
3911 | asm("int $2"); | 3912 | asm("int $2"); |