summaryrefslogtreecommitdiffstats
path: root/virt/kvm
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2010-02-09 03:31:09 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 16:36:09 +0100
commit1ae77badc2504d157800f10a81a58cc9c941e7cb (patch)
tree57f590b82a8e20863635ce8b528b79c022b0a8e9 /virt/kvm
parentKVM: PIT: unregister kvm irq notifier if fail to create pit (diff)
downloadlinux-1ae77badc2504d157800f10a81a58cc9c941e7cb.tar.xz
linux-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/kvm')
-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;
}