Hi Marc, On 2021/4/8 15:28, Keqian Zhu wrote: > Hi Marc, > > On 2021/4/7 21:18, Marc Zyngier wrote: >> On Tue, 16 Mar 2021 13:43:38 +0000, >> Keqian Zhu <zhukeqian1@xxxxxxxxxx> wrote: >>> [...] >>> >>> +/* >>> + * Find a mapping size that properly insides the intersection of vma and >>> + * memslot. And hva and pa have the same alignment to this mapping size. >>> + * It's rough because there are still other restrictions, which will be >>> + * checked by the following fault_supports_stage2_huge_mapping(). >> >> I don't think these restrictions make complete sense to me. If this is >> a PFNMAP VMA, we should use the biggest mapping size that covers the >> VMA, and not more than the VMA. > But as described by kvm_arch_prepare_memory_region(), the memslot may not fully > cover the VMA. If that's true and we just consider the boundary of the VMA, our > block mapping may beyond the boundary of memslot. Is this a problem? emm... Sorry I missed something. The fault_supports_stage2_huge_mapping() will check the boundary of memslot, so we don't need to check it here. I have send v3, please check that. BRs, Keqian