KVM: VMX: Stop invalid guest state emulation on pending event
authorAvi Kivity <avi@redhat.com>
Tue, 12 Jun 2012 17:21:38 +0000 (20:21 +0300)
committerAvi Kivity <avi@redhat.com>
Mon, 9 Jul 2012 11:19:04 +0000 (14:19 +0300)
Process the event, possibly injecting an interrupt, before continuing.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/vmx.c

index 2e51e7c6d2a86da5f3180a4171890ca7ac697dfd..a62f92ab1be25638d53361208f194aeffe37dc70 100644 (file)
@@ -4986,6 +4986,9 @@ static int handle_invalid_guest_state(struct kvm_vcpu *vcpu)
                if (intr_window_requested && vmx_interrupt_allowed(vcpu))
                        return handle_interrupt_window(&vmx->vcpu);
 
+               if (test_bit(KVM_REQ_EVENT, &vcpu->requests))
+                       return 1;
+
                err = emulate_instruction(vcpu, 0);
 
                if (err == EMULATE_DO_MMIO) {