summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kiszka2013-04-28 09:24:41 +0200
committerGleb Natapov2013-04-28 12:34:39 +0200
commit5a2892ce72e010e3cb96b438d7cdddce0c88e0e6 (patch)
tree3d17f682c5eaea2948be4cd156b0fc028d1230e9
parentKVM: x86: Increase the "hard" max VCPU limit (diff)
downloadkernel-qcow2-linux-5a2892ce72e010e3cb96b438d7cdddce0c88e0e6.tar.gz
kernel-qcow2-linux-5a2892ce72e010e3cb96b438d7cdddce0c88e0e6.tar.xz
kernel-qcow2-linux-5a2892ce72e010e3cb96b438d7cdddce0c88e0e6.zip
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 <jan.kiszka@siemens.com> Signed-off-by: Gleb Natapov <gleb@redhat.com>
-rw-r--r--arch/x86/kvm/vmx.c2
1 files changed, 1 insertions, 1 deletions
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) {