On Mon, 19 Aug 2024 13:50:45 +0100, Marc Zyngier wrote: > We recently moved the teardown of the vgic part of a vcpu inside > a critical section guarded by the config_lock. This teardown phase > involves calling into kvm_io_bus_unregister_dev(), which takes the > kvm->srcu lock. > > However, this violates the established order where kvm->srcu is > taken on a memory fault (such as an MMIO access), possibly > followed by taking the config_lock if the GIC emulation requires > mutual exclusion from the other vcpus. > > [...] Tested this w/ kvm-unit-tests, selftests, and a few VMs on a lockdep kernel. Applied to kvmarm/fixes, thanks! [1/1] KVM: arm64: vgic: Don't hold config_lock while unregistering redistributors https://git.kernel.org/kvmarm/kvmarm/c/f616506754d3 -- Best, Oliver