KVM: VMX: Stop invalid guest state emulation on pending event
Avi Kivity [Tue, 12 Jun 2012 17:21:38 +0000 (20:21 +0300)]
Process the event, possibly injecting an interrupt, before continuing.

Signed-off-by: Avi Kivity <avi@redhat.com>

arch/x86/kvm/vmx.c

index 2e51e7c..a62f92a 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) {