On Fri, Oct 16, 2020 at 9:18 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > > On 14/10/20 20:26, Ben Gardon wrote: > > > > + if (kvm->arch.tdp_mmu_enabled) > > + kvm_tdp_mmu_clear_dirty_pt_masked(kvm, slot, > > + slot->base_gfn + gfn_offset, mask, true); > > This was "false" in v1, I need --verbose for this change. :) I don't think this changed from v1. Note that there are two callers in mmu.c - kvm_mmu_write_protect_pt_masked and kvm_mmu_clear_dirty_pt_masked. One calls with wrprot = true and the other with wrprot = false. > > > while (mask) { > > rmap_head = __gfn_to_rmap(slot->base_gfn + gfn_offset + __ffs(mask), > > > + spte_set = wrprot_gfn_range(kvm, root, slot->base_gfn, > > + slot->base_gfn + slot->npages, min_level) || > > + spte_set; > > A few remaining instances of ||. Gah, I thought I had gotten all of them. Thanks for catching these. > > Paolo >