(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