aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm/iommu.c
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2012-04-18 15:03:04 +0300
committerMarcelo Tosatti <mtosatti@redhat.com>2012-04-18 23:42:27 -0300
commit2225fd56049643c1a7d645c0ce9d499d43c7974e (patch)
tree968ee8ee689d619c663d49ad5f7cc150d38daab5 /virt/kvm/iommu.c
parentKVM: unmap pages from the iommu when slots are removed (diff)
downloadlinux-dev-2225fd56049643c1a7d645c0ce9d499d43c7974e.tar.xz
linux-dev-2225fd56049643c1a7d645c0ce9d499d43c7974e.zip
KVM: VMX: Fix kvm_set_shared_msr() called in preemptible context
kvm_set_shared_msr() may not be called in preemptible context, but vmx_set_msr() does so: BUG: using smp_processor_id() in preemptible [00000000] code: qemu-kvm/22713 caller is kvm_set_shared_msr+0x32/0xa0 [kvm] Pid: 22713, comm: qemu-kvm Not tainted 3.4.0-rc3+ #39 Call Trace: [<ffffffff8131fa82>] debug_smp_processor_id+0xe2/0x100 [<ffffffffa0328ae2>] kvm_set_shared_msr+0x32/0xa0 [kvm] [<ffffffffa03a103b>] vmx_set_msr+0x28b/0x2d0 [kvm_intel] ... Making kvm_set_shared_msr() work in preemptible is cleaner, but it's used in the fast path. Making two variants is overkill, so this patch just disables preemption around the call. Reported-by: Dave Jones <davej@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'virt/kvm/iommu.c')
0 files changed, 0 insertions, 0 deletions