aboutsummaryrefslogtreecommitdiff
path: root/drivers/kvm/vmx.c
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-09-30 10:50:12 +0200
committerAvi Kivity <avi@qumranet.com>2008-01-30 17:52:49 +0200
commiteae5ecb5b9043812968fae7ad9d74bf5e7a50245 (patch)
tree68af0cc24f0e878240109ab2b3f1dfa27b3f80ff /drivers/kvm/vmx.c
parentb4c6abfef400c0f74d9b86a149a6719706cfdbbc (diff)
KVM: VMX: Don't clear the vmcs if the vcpu is not loaded on any processor
Noted by Eddie Dong. Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/vmx.c')
-rw-r--r--drivers/kvm/vmx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index 27a3318fa6c..cc2844203c2 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -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