On Mon, Dec 23, 2019 at 06:59:01PM +0100, Paolo Bonzini wrote: > On 23/12/19 18:27, Peter Xu wrote: > > Yes. Though it is a bit tricky in that then we'll also need to make > > sure to take slots_lock or srcu to protect that hva (say, we must drop > > that hva reference before we release the locks, otherwise the hva > > could gone under us, iiuc). > > Yes, kvm->slots_lock is taken by x86_set_memory_region. We need to move > that to the callers, of which several are already taking the lock (all > except vmx_set_tss_addr and kvm_arch_destroy_vm). OK, will do. I'll directly replace the x86_set_memory_region() calls in kvm_arch_destroy_vm() to be __x86_set_memory_region() since IIUC the slots_lock is helpless when destroying the vm... then drop the x86_set_memory_region() helper in the next version. Thanks, -- Peter Xu