Re: [syzbot] WARNING in follow_hugetlb_page

From: Andrew Morton
Date: Fri May 13 2022 - 19:19:32 EST


On Fri, 13 May 2022 15:48:15 -0700 Mike Kravetz <mike.kravetz@xxxxxxxxxx> wrote:

> On 5/13/22 11:09, Mike Kravetz wrote:
> > On 5/13/22 10:26, Andrew Morton wrote:
> >> On Fri, 13 May 2022 09:43:24 -0700 syzbot <syzbot+acf65ca584991f3cc447@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> >>
> >>> syzbot has found a reproducer for the following issue on:
> >>
> >> Thanks.
> >>
> >>> HEAD commit: 1e1b28b936ae Add linux-next specific files for 20220513
> >>> git tree: linux-next
> >>> console+strace: https://syzkaller.appspot.com/x/log.txt?x=174ae715f00000
> >>> kernel config: https://syzkaller.appspot.com/x/.config?x=e4eb3c0c4b289571
> >>> dashboard link: https://syzkaller.appspot.com/bug?extid=acf65ca584991f3cc447
> >>> compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> >>> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11531766f00000
> >>> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16ce5a9ef00000
> >>>
> >>> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> >>> Reported-by: syzbot+acf65ca584991f3cc447@xxxxxxxxxxxxxxxxxxxxxxxxx
> >>>
> >>> ------------[ cut here ]------------
> >>> WARNING: CPU: 1 PID: 3611 at mm/hugetlb.c:6250 follow_hugetlb_page+0x1326/0x1c80 mm/hugetlb.c:6250
> >>
> >> The try_grab_folio() added by 822951d84684d ("mm/hugetlb: Use
> >> try_grab_folio() instead of try_grab_compound_head()"). That commit
> >> has been there over a month so I guess it's something else. Does
> >> someone have the time to bisect?
> >
> > I can recreate in my 'easy to debug' environment, so I can bisect in
> > parallel with other things I need to do today.
> >
>
> 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