KVM: fix lock imbalance
authorJiri Slaby <jirislaby@gmail.com>
Mon, 29 Jun 2009 16:05:10 +0000 (18:05 +0200)
committerAvi Kivity <avi@redhat.com>
Thu, 10 Sep 2009 05:33:06 +0000 (08:33 +0300)
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>
virt/kvm/ioapic.c

index ddf6aa9..8a9c6cc 100644 (file)
@@ -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;
 }