On Tue, Mar 16, 2021 at 08:40:02AM -0400, Miaohe Lin wrote: > +static inline void split_huge_pmd_if_needed(struct vm_area_struct *vma, unsigned long address) > +{ > + /* > + * If the new address isn't hpage aligned and it could previously > + * contain an hugepage: check if we need to split an huge pmd. > + */ > + if (address & ~HPAGE_PMD_MASK && > + range_in_vma(vma, address & HPAGE_PMD_MASK, > + (address & HPAGE_PMD_MASK) + HPAGE_PMD_SIZE)) Since you're at it, maybe use ALIGN/ALIGN_DOWN too against HPAGE_PMD_SIZE? > + split_huge_pmd_address(vma, address, false, NULL); > +} -- Peter Xu