Re: [PATCH 4/7] mm/hugetlb: Prepare hugetlb_follow_page_mask() for FOLL_PIN

From: Peter Xu
Date: Wed Jun 14 2023 - 11:12:04 EST


On Wed, Jun 14, 2023 at 04:57:37PM +0200, David Hildenbrand wrote:
> On 13.06.23 23:53, Peter Xu wrote:
> > It's coming, not yet, but soon. Loose the restriction.
> >
> > Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>
> > ---
> > mm/hugetlb.c | 7 -------
> > 1 file changed, 7 deletions(-)
> >
> > diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> > index f037eaf9d819..31d8f18bc2e4 100644
> > --- a/mm/hugetlb.c
> > +++ b/mm/hugetlb.c
> > @@ -6467,13 +6467,6 @@ struct page *hugetlb_follow_page_mask(struct vm_area_struct *vma,
> > spinlock_t *ptl;
> > pte_t *pte, entry;
> > - /*
> > - * FOLL_PIN is not supported for follow_page(). Ordinary GUP goes via
> > - * follow_hugetlb_page().
> > - */
> > - if (WARN_ON_ONCE(flags & FOLL_PIN))
> > - return NULL;
> > -
> > hugetlb_vma_lock_read(vma);
> > pte = hugetlb_walk(vma, haddr, huge_page_size(h));
> > if (!pte)
> Did you fix why the warning was placed there in the first place? (IIRC, at
> least unsharing support needs to be added, maybe more)

Feel free to have a look at patch 2 - it should be done there, hopefully in
the right way. And IIUC it could be a bug to not do that before (besides
CoR there was also the pgtable permission checks that was missing). More
details in patch 2's commit message. Thanks,

--
Peter Xu