On 06/13/2018 04:28 AM, Paolo Bonzini wrote: > > What needs kvm->srcu here? > That is needed because of the call to kvm_arch_vcpu_runnable(). That function may call vmx_check_nested_events(), which can call nested_vmx_vmexit(). That in turn would eventually call fast_cr3_switch(), which needs the kvm->srcu in order to verify (via mmu_check_root) that the new CR3 belongs to a valid memslot.