|
@@ -4983,8 +4983,7 @@ static int handle_invalid_guest_state(struct kvm_vcpu *vcpu)
|
|
intr_window_requested = cpu_exec_ctrl & CPU_BASED_VIRTUAL_INTR_PENDING;
|
|
intr_window_requested = cpu_exec_ctrl & CPU_BASED_VIRTUAL_INTR_PENDING;
|
|
|
|
|
|
while (!guest_state_valid(vcpu) && count-- != 0) {
|
|
while (!guest_state_valid(vcpu) && count-- != 0) {
|
|
- if (intr_window_requested
|
|
|
|
- && (kvm_get_rflags(&vmx->vcpu) & X86_EFLAGS_IF))
|
|
|
|
|
|
+ if (intr_window_requested && vmx_interrupt_allowed(vcpu))
|
|
return handle_interrupt_window(&vmx->vcpu);
|
|
return handle_interrupt_window(&vmx->vcpu);
|
|
|
|
|
|
err = emulate_instruction(vcpu, 0);
|
|
err = emulate_instruction(vcpu, 0);
|