KVM: VMX: Don't clear the vmcs if the vcpu is not loaded on any processor
authorAvi Kivity <avi@qumranet.com>
Sun, 30 Sep 2007 08:50:12 +0000 (10:50 +0200)
committerAvi Kivity <avi@qumranet.com>
Wed, 30 Jan 2008 15:52:49 +0000 (17:52 +0200)
Noted by Eddie Dong.

Signed-off-by: Avi Kivity <avi@qumranet.com>
drivers/kvm/vmx.c

index 27a3318..cc28442 100644 (file)
@@ -225,7 +225,9 @@ static void __vcpu_clear(void *arg)
 
 static void vcpu_clear(struct vcpu_vmx *vmx)
 {
-       if (vmx->vcpu.cpu != raw_smp_processor_id() && vmx->vcpu.cpu != -1)
+       if (vmx->vcpu.cpu == -1)
+               return;
+       if (vmx->vcpu.cpu != raw_smp_processor_id())
                smp_call_function_single(vmx->vcpu.cpu, __vcpu_clear,
                                         vmx, 0, 1);
        else