summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2010-02-09 10:31:09 +0800
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 12:36:09 -0300
commit1ae77badc2504d157800f10a81a58cc9c941e7cb (patch)
tree57f590b82a8e20863635ce8b528b79c022b0a8e9 /virt
parentd225f53b76f4287365efd381b9e3a732e6bad27e (diff)
downloadlinux-stable-1ae77badc2504d157800f10a81a58cc9c941e7cb.tar.gz
linux-stable-1ae77badc2504d157800f10a81a58cc9c941e7cb.tar.bz2
linux-stable-1ae77badc2504d157800f10a81a58cc9c941e7cb.zip
KVM: kvm->arch.vioapic should be NULL if kvm_ioapic_init() failure
kvm->arch.vioapic should be NULL in case of kvm_ioapic_init() failure due to cannot register io dev. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/ioapic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index a2edfd177faf..f3d06934ae6d 100644
--- a/virt/kvm/ioapic.c
+++ b/virt/kvm/ioapic.c
@@ -393,8 +393,10 @@ int kvm_ioapic_init(struct kvm *kvm)
mutex_lock(&kvm->slots_lock);
ret = kvm_io_bus_register_dev(kvm, KVM_MMIO_BUS, &ioapic->dev);
mutex_unlock(&kvm->slots_lock);
- if (ret < 0)
+ if (ret < 0) {
+ kvm->arch.vioapic = NULL;
kfree(ioapic);
+ }
return ret;
}