aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 3320804bb2ac..04c5d96b1d67 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -3431,6 +3431,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
3431 }; 3431 };
3432 case KVM_SET_VAPIC_ADDR: { 3432 case KVM_SET_VAPIC_ADDR: {
3433 struct kvm_vapic_addr va; 3433 struct kvm_vapic_addr va;
3434 int idx;
3434 3435
3435 r = -EINVAL; 3436 r = -EINVAL;
3436 if (!lapic_in_kernel(vcpu)) 3437 if (!lapic_in_kernel(vcpu))
@@ -3438,7 +3439,9 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
3438 r = -EFAULT; 3439 r = -EFAULT;
3439 if (copy_from_user(&va, argp, sizeof va)) 3440 if (copy_from_user(&va, argp, sizeof va))
3440 goto out; 3441 goto out;
3442 idx = srcu_read_lock(&vcpu->kvm->srcu);
3441 r = kvm_lapic_set_vapic_addr(vcpu, va.vapic_addr); 3443 r = kvm_lapic_set_vapic_addr(vcpu, va.vapic_addr);
3444 srcu_read_unlock(&vcpu->kvm->srcu, idx);
3442 break; 3445 break;
3443 } 3446 }
3444 case KVM_X86_SETUP_MCE: { 3447 case KVM_X86_SETUP_MCE: {