diff mbox

[GIT,PULL] KVM fix for 2.6.30-rc8

Message ID 4A2CC4C2.4050901@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Avi Kivity June 8, 2009, 7:58 a.m. UTC
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>
diff mbox

Patch

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)