Re: [RFC PATCH] KVM: Fix missing lock for kvm_io_bus_unregister_dev()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(2010/12/08 1:45), Takuya Yoshikawa wrote:
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index f628234..d9fe35d 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -596,7 +596,9 @@ void kvm_destroy_pic(struct kvm *kvm)
  	struct kvm_pic *vpic = kvm->arch.vpic;

  	if (vpic) {
+		mutex_lock(&kvm->slots_lock);
  		kvm_io_bus_unregister_dev(kvm, KVM_PIO_BUS,&vpic->dev);
+		mutex_unlock(&kvm->slots_lock);
  		kvm->arch.vpic = NULL;
  		kfree(vpic);
  	}

Ah, this seems to break the lock ordering

  kvm->lock --> kvm->slots_lock --> kvm->irq_lock

I'll recheck later.

  Takuya
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux