KVM: x86: pending exceptions must not be blocked by an injected event
authorMaxim Levitsky <mlevitsk@redhat.com>
Thu, 1 Apr 2021 14:38:14 +0000 (17:38 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 17 Apr 2021 12:31:02 +0000 (08:31 -0400)
commit4020da3b9f0c7e403b654c43da989f8c0bb05b57
tree576409b1f88826c89a29a18ba5ccd1c5bbf8202a
parentb9c36fdedd837021f2e72a36e9a12cd4971bcb35
KVM: x86: pending exceptions must not be blocked by an injected event

Injected interrupts/nmi should not block a pending exception,
but rather be either lost if nested hypervisor doesn't
intercept the pending exception (as in stock x86), or be delivered
in exitintinfo/IDT_VECTORING_INFO field, as a part of a VMexit
that corresponds to the pending exception.

The only reason for an exception to be blocked is when nested run
is pending (and that can't really happen currently
but still worth checking for).

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20210401143817.1030695-2-mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/nested.c
arch/x86/kvm/vmx/nested.c