summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Kivity2009-08-17 21:49:40 +0200
committerAvi Kivity2009-09-10 09:46:54 +0200
commit88c808fd42b53a7e01a2ac3253ef31fef74cb5af (patch)
tree570998f7bc61caa35c493bca3b1ca50a3f74af0c
parentKVM: VMX: Fix EPT with WP bit change during paging (diff)
downloadkernel-qcow2-linux-88c808fd42b53a7e01a2ac3253ef31fef74cb5af.tar.gz
kernel-qcow2-linux-88c808fd42b53a7e01a2ac3253ef31fef74cb5af.tar.xz
kernel-qcow2-linux-88c808fd42b53a7e01a2ac3253ef31fef74cb5af.zip
KVM: Protect update_cr8_intercept() when running without an apic
update_cr8_intercept() can be triggered from userspace while there is no apic present. Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--arch/x86/kvm/x86.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 59a8ba4d56bd..35e7fc54de35 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3500,6 +3500,9 @@ static void update_cr8_intercept(struct kvm_vcpu *vcpu)
if (!kvm_x86_ops->update_cr8_intercept)
return;
+ if (!vcpu->arch.apic)
+ return;
+
if (!vcpu->arch.apic->vapic_addr)
max_irr = kvm_lapic_find_highest_irr(vcpu);
else