On Fri, Jun 04, 2021 at 01:51:38PM +0100, Steven Price wrote: > On 04/06/2021 12:36, Catalin Marinas wrote: > > On Fri, Jun 04, 2021 at 11:42:11AM +0100, Steven Price wrote: > >> On 03/06/2021 17:00, Catalin Marinas wrote: > >>> On Mon, May 24, 2021 at 11:45:09AM +0100, Steven Price wrote: > >>>> @@ -971,8 +1007,13 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, > >>>> if (writable) > >>>> prot |= KVM_PGTABLE_PROT_W; > >>>> > >>>> - if (fault_status != FSC_PERM && !device) > >>>> + if (fault_status != FSC_PERM && !device) { > >>>> + ret = sanitise_mte_tags(kvm, pfn, vma_pagesize); > >>>> + if (ret) > >>>> + goto out_unlock; > >>> > >>> Maybe it was discussed in a previous version, why do we need this in > >>> addition to kvm_set_spte_gfn()? > >> > >> kvm_set_spte_gfn() is only used for the MMU notifier path (e.g. if a > >> memslot is changed by the VMM). For the initial access we will normally > >> fault the page into stage 2 with user_mem_abort(). > > > > Right. Can we move the sanitise_mte_tags() call to > > kvm_pgtable_stage2_map() instead or we don't have the all the > > information needed? > > I tried that before: kvm_pgtable_stage2_map() is shared with the > hypervisor so sadly we can't go poking around in the host as this breaks > on nVHE. I mentioned it in the v12 cover letter but it was in a wall of > text: Ah, I missed this in the cover letter (haven't read it). So, apart from the nitpick with the early return for less indentation, feel free to add: Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm