From: Jan Kiszka Date: Sun, 28 Apr 2013 07:24:41 +0000 (+0200) Subject: KVM: nVMX: Skip PF interception check when queuing during nested run X-Git-Tag: firefly_0821_release~3680^2~569^2~10 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5a2892ce72e010e3cb96b438d7cdddce0c88e0e6;p=firefly-linux-kernel-4.4.55.git KVM: nVMX: Skip PF interception check when queuing during nested run While a nested run is pending, vmx_queue_exception is only called to requeue exceptions that were previously picked up via vmx_cancel_injection. Therefore, we must not check for PF interception by L1, possibly causing a bogus nested vmexit. Signed-off-by: Jan Kiszka Signed-off-by: Gleb Natapov --- diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 74c525e2c608..e10217e99d2c 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -1917,7 +1917,7 @@ static void vmx_queue_exception(struct kvm_vcpu *vcpu, unsigned nr, u32 intr_info = nr | INTR_INFO_VALID_MASK; if (nr == PF_VECTOR && is_guest_mode(vcpu) && - nested_pf_handled(vcpu)) + !vmx->nested.nested_run_pending && nested_pf_handled(vcpu)) return; if (has_error_code) {