Message ID | 4A2CC4C2.4050901@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 1ecbe23..4293528 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)
Linus, if it's not too late, please pull git://git.kernel.org/pub/scm/virt/kvm/kvm.git kvm-updates/2.6.30 this fixes a crash during reboot with the kvm modules loaded if CONFIG_SMP is selected. If you merge the larger cpumask initializing allocator, you can drop this. Avi Kivity (1): KVM: Explicity initialize cpus_hardware_enabled virt/kvm/kvm_main.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit a4c0364be3f43d3e17fe19270f8b3d64881606e6 Author: Avi Kivity <avi@redhat.com> Date: Sat Jun 6 12:34:39 2009 +0300 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>