diff options
author | Avi Kivity <avi@redhat.com> | 2009-06-06 12:34:39 +0300 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-06-08 10:50:46 +0300 |
commit | a4c0364be3f43d3e17fe19270f8b3d64881606e6 (patch) | |
tree | c1ccc1f5d96a25e36d20874dd15a48e6fb05d3ee | |
parent | ccc0d38ec13d4649d4168c1db590137df53ad783 (diff) | |
download | linux-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.c | 1 |
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) |