summaryrefslogtreecommitdiff
path: root/virt
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2009-06-29 18:05:10 +0200
committerAvi Kivity <avi@redhat.com>2009-07-01 11:15:44 +0300
commitd141c22bce82eac7b9bce46f126e70065630ef6d (patch)
tree0c9e2698b0456e479f8331b9ad2f36a68ef4e876 /virt
parent686f339ba8105a3f52fdde59f8e0c86fecfd05b3 (diff)
KVM: fix lock imbalance
There is a missing unlock on one fail path in ioapic_mmio_write, fix that. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/ioapic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index e4deae07d2ab..124ecf7fca99 100644
--- a/virt/kvm/ioapic.c
+++ b/virt/kvm/ioapic.c
@@ -292,7 +292,7 @@ static int ioapic_mmio_write(struct kvm_io_device *this, gpa_t addr, int len,
data = *(u32 *) val;
else {
printk(KERN_WARNING "ioapic: Unsupported size %d\n", len);
- return 0;
+ goto unlock;
}
addr &= 0xff;
@@ -313,6 +313,7 @@ static int ioapic_mmio_write(struct kvm_io_device *this, gpa_t addr, int len,
default:
break;
}
+unlock:
mutex_unlock(&ioapic->kvm->irq_lock);
return 0;
}