From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: [GIT PULL] KVM fix for 2.6.30-rc8 Date: Mon, 08 Jun 2009 10:58:58 +0300 Message-ID: <4A2CC4C2.4050901@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: KVM list , linux-kernel To: Linus Torvalds Return-path: Received: from mx2.redhat.com ([66.187.237.31]:42340 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752261AbZFHH7C (ORCPT ); Mon, 8 Jun 2009 03:59:02 -0400 Sender: kvm-owner@vger.kernel.org List-ID: 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 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 Signed-off-by: Avi Kivity 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) -- error compiling committee.c: too many arguments to function