On 12/28/22 12:58, Paolo Bonzini wrote: > On 12/28/22 10:54, David Woodhouse wrote: >> But what is the general case lock ordering rule here? Can other code >> call synchronize_srcu() while holding kvm->lock? Or is that verboten? > > Nope, it's a general rule---and one that would extend to any other lock > taken inside srcu_read_lock(&kvm->srcu). > > I have sent a patch to fix reset, and one to clarify the lock ordering > rules. It looks like there are more places with such bad ordering: kvm_vm_ioctl_set_msr_filter(), kvm_vm_ioctl_set_pmu_event_filter(). Michal