Re: [PATCH 3.4-rc] KVM: VMX: Fix kvm_set_shared_msr() called inpreemptible context

From: Marcelo Tosatti
Date: Wed Apr 18 2012 - 22:47:57 EST


On Wed, Apr 18, 2012 at 03:03:04PM +0300, Avi Kivity wrote:
> 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@xxxxxxxxxx>
> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx>
> ---
> arch/x86/kvm/vmx.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)

Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/