KVM: Do not allow interrupt injection from userspace if there is a pending event.
The exception will immediately close the interrupt window. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
@@ -3105,8 +3105,9 @@ static void post_kvm_run_save(struct kvm_vcpu *vcpu,
|
|||||||
kvm_run->ready_for_interrupt_injection = 1;
|
kvm_run->ready_for_interrupt_injection = 1;
|
||||||
else
|
else
|
||||||
kvm_run->ready_for_interrupt_injection =
|
kvm_run->ready_for_interrupt_injection =
|
||||||
(kvm_arch_interrupt_allowed(vcpu) &&
|
kvm_arch_interrupt_allowed(vcpu) &&
|
||||||
!kvm_cpu_has_interrupt(vcpu));
|
!kvm_cpu_has_interrupt(vcpu) &&
|
||||||
|
!kvm_event_needs_reinjection(vcpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vapic_enter(struct kvm_vcpu *vcpu)
|
static void vapic_enter(struct kvm_vcpu *vcpu)
|
||||||
|
Reference in New Issue
Block a user