On Fri, May 13, 2022 at 04:19:10PM -0700, Andrew Morton wrote: > 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 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) Ccing just in case if I miss other thing for HugeTLB