]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
KVM: Explicity initialize cpus_hardware_enabled
authorAvi Kivity <avi@redhat.com>
Sat, 6 Jun 2009 09:34:39 +0000 (12:34 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Jun 2009 16:40:08 +0000 (09:40 -0700)
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>
virt/kvm/kvm_main.c

index d85642e2c74d9b93b67b881279a464e568fe2301..9138d0d75539be80bbf5304d614bf39e8512be03 100644 (file)
@@ -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)