This is version 2 of the patches I previously posted here: https://lore.kernel.org/all/20250624092256.1105524-1-keirf@xxxxxxxxxx/ Changes since v1: * Memory barriers introduced (or implied and documented) on the kvm->buses[] SRCU read paths * Disallow kvm_get_bus() from SRCU readers * Rebased to v6.16-rc6 Thanks to Sean for the review feedback and patch suggestions! Keir Fraser (4): KVM: arm64: vgic-init: Remove vgic_ready() macro KVM: arm64: vgic: Explicitly implement vgic_dist::ready ordering KVM: Implement barriers before accessing kvm->buses[] on SRCU read paths KVM: Avoid synchronize_srcu() in kvm_io_bus_register_dev() arch/arm64/kvm/vgic/vgic-init.c | 14 +++-------- arch/x86/kvm/vmx/vmx.c | 7 ++++++ include/kvm/arm_vgic.h | 1 - include/linux/kvm_host.h | 11 ++++++--- virt/kvm/kvm_main.c | 43 +++++++++++++++++++++++++++------ 5 files changed, 53 insertions(+), 23 deletions(-) -- 2.50.0.727.gbf7dc18ff4-goog