summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-06-06 12:34:39 +0300
committerGreg Kroah-Hartman <gregkh@suse.de>2009-06-15 09:40:08 -0700
commitbfc71900a3fb609ce62b9b2e7bb9f5eac7a3f682 (patch)
tree3040f213aeda8986a4159cae854d2f03f1dca566
parent987ea1e8654459f98d7539f79f1460f3cad3d094 (diff)
KVM: Explicity initialize cpus_hardware_enabled
commit a4c0364be3f43d3e17fe19270f8b3d64881606e6 upstream. 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. Reported-and-tested-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-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 d85642e2c74d..9138d0d75539 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2315,6 +2315,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)