In this function, the TLB flushing comes before spin unlock,

void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot)
{
       struct kvm_mmu_page *sp;

       spin_lock(&kvm->mmu_lock);

       kvm_flush_remote_tlbs(kvm);
       spin_unlock(&kvm->mmu_lock);
}


but in kvm_vm_ioctl_set_memory_alias():

       spin_unlock(&kvm->mmu_lock);
       kvm_mmu_zap_all(kvm);

it comes after inside kvm_mmu_zap_all().   Does it sound logical?


-- 
Regards,
Peter Teoh
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to