summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-06-06 12:34:39 +0300
committerAvi Kivity <avi@redhat.com>2009-06-08 10:50:46 +0300
commita4c0364be3f43d3e17fe19270f8b3d64881606e6 (patch)
treec1ccc1f5d96a25e36d20874dd15a48e6fb05d3ee
parentccc0d38ec13d4649d4168c1db590137df53ad783 (diff)
downloadlinux-a4c0364be3f43d3e17fe19270f8b3d64881606e6.tar.gz
linux-a4c0364be3f43d3e17fe19270f8b3d64881606e6.tar.bz2
linux-a4c0364be3f43d3e17fe19270f8b3d64881606e6.zip
KVM: Explicity initialize cpus_hardware_enabled
Under CONFIG_MAXSMP, cpus_hardware_enabled is allocated from the heap and not statically initialized. This causes a crash on reboot when kvm thinks vmx is enabled on random nonexistent cpus and accesses nonexistent percpu lists. Fix by explicitly clearing the variable. Cc: stable@kernel.org Reported-and-tested-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--virt/kvm/kvm_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 1ecbe2391c8b..4293528200b3 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2305,6 +2305,7 @@ int kvm_init(void *opaque, unsigned int vcpu_size,
r = -ENOMEM;
goto out_free_0;
}
+ cpumask_clear(cpus_hardware_enabled);
r = kvm_arch_hardware_setup();
if (r < 0)