Messages in this thread | | | From | Jim Mattson <> | Date | Thu, 16 Jun 2022 16:47:10 -0700 | Subject | Re: [PATCH v2 01/21] KVM: nVMX: Unconditionally purge queued/injected events on nested "exit" |
| |
On Tue, Jun 14, 2022 at 1:47 PM Sean Christopherson <seanjc@google.com> wrote: > > Drop pending exceptions and events queued for re-injection when leaving > nested guest mode, even if the "exit" is due to VM-Fail, SMI, or forced > by host userspace. Failure to purge events could result in an event > belonging to L2 being injected into L1. > > This _should_ never happen for VM-Fail as all events should be blocked by > nested_run_pending, but it's possible if KVM, not the L1 hypervisor, is > the source of VM-Fail when running vmcs02. > > SMI is a nop (barring unknown bugs) as recognition of SMI and thus entry > to SMM is blocked by pending exceptions and re-injected events. > > Forced exit is definitely buggy, but has likely gone unnoticed because > userspace probably follows the forced exit with KVM_SET_VCPU_EVENTS (or > some other ioctl() that purges the queue). > > Fixes: 4f350c6dbcb9 ("kvm: nVMX: Handle deferred early VMLAUNCH/VMRESUME failure properly") > Cc: stable@vger.kernel.org > Signed-off-by: Sean Christopherson <seanjc@google.com> Reviewed-by: Jim Mattson <jmattson@google.com>
| |