Messages in this thread | | | From | Jim Mattson <> | Date | Tue, 28 Apr 2020 14:41:11 -0700 | Subject | Re: [PATCH 03/13] KVM: x86: Set KVM_REQ_EVENT if run is canceled with req_immediate_exit set |
| |
On Wed, Apr 22, 2020 at 7:26 PM Sean Christopherson <sean.j.christopherson@intel.com> wrote: > > Re-request KVM_REQ_EVENT if vcpu_enter_guest() bails after processing > pending requests and an immediate exit was requested. This fixes a bug > where a pending event, e.g. VMX preemption timer, is delayed and/or lost > if the exit was deferred due to something other than a higher priority > _injected_ event, e.g. due to a pending nested VM-Enter. This bug only > affects the !injected case as kvm_x86_ops.cancel_injection() sets > KVM_REQ_EVENT to redo the injection, but that's purely serendipitous > behavior with respect to the deferred event. > > Note, emulated preemption timer isn't the only event that can be > affected, it simply happens to be the only event where not re-requesting > KVM_REQ_EVENT is blatantly visible to the guest. > > Fixes: f4124500c2c13 ("KVM: nVMX: Fully emulate preemption timer") > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> Reviewed-by: Jim Mattson <jmattson@google.com>
| |