Re: [syzbot] WARNING in follow_hugetlb_page

From: Minchan Kim
Date: Fri May 13 2022 - 22:37:55 EST


On Fri, May 13, 2022 at 05:09:11PM -0700, John Hubbard wrote:
> On 5/13/22 16:54, Minchan Kim wrote:
> > > > I isolated this to Minchan Kim's "mm: fix is_pinnable_page against on cma
> > > > page". Yes, the fat finger fix is in next-20220513.
> > > >
> > > > I don't have time to analyze right now, but can confirm that in the
> > > > reproducer is_pinnable_page is returning false after this change when it
> > > > previously returned true.
> > >
> > > OK, thanks, I dropped mm-fix-is_pinnable_page-against-on-cma-page.patch
> >
> > Seems like bug of the patch v5 due to change of this
> >
> > if (mt & (MIGRATE_CMA | MIGRATE_ISOLATE))
> >
> > The migration type is not bit type so it shold be
> >
> > if (mt == MIGRATE_CMA || mt == MIGRATE_ISOLATE)
> >
>
> Sorry for leading you astray by recommending the bitwise OR, Minchan.
> I overlooked that point even though it was right in front of me.

No worry, John.

Anything else further can we get insight from the warning?

For example, pin_user_pages going on against a hugetlb page
which are concurrently running alloc_contig_range(it's
exported function so anyone can call randomly) so
alloc_contig_range changes pageblock type as MIGRATE_ISOLATE
under us so the hit at the warning?