Re: kernel BUG at mm/vmscan.c:LINE! (2)

From: Dmitry Vyukov
Date: Thu Aug 08 2019 - 12:34:31 EST


On Tue, Aug 6, 2019 at 10:29 AM Michal Hocko <mhocko@xxxxxxxxxx> wrote:
>
> On Sat 03-08-19 05:06:43, Minchan Kim wrote:
> > On Fri, Aug 02, 2019 at 10:58:05AM -0700, syzbot wrote:
> > > Hello,
> > >
> > > syzbot found the following crash on:
> > >
> > > HEAD commit: 0d8b3265 Add linux-next specific files for 20190729
> > > git tree: linux-next
> > > console output: https://syzkaller.appspot.com/x/log.txt?x=1663c7d0600000
> > > kernel config: https://syzkaller.appspot.com/x/.config?x=ae96f3b8a7e885f7
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=8e6326965378936537c3
> > > compiler: gcc (GCC) 9.0.0 20181231 (experimental)
> > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=133c437c600000
> > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15645854600000
> > >
> > > The bug was bisected to:
> > >
> > > commit 06a833a1167e9cbb43a9a4317ec24585c6ec85cb
> > > Author: Minchan Kim <minchan@xxxxxxxxxx>
> > > Date: Sat Jul 27 05:12:38 2019 +0000
> > >
> > > mm: introduce MADV_PAGEOUT
> > >
> > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=1545f764600000
> > > final crash: https://syzkaller.appspot.com/x/report.txt?x=1745f764600000
> > > console output: https://syzkaller.appspot.com/x/log.txt?x=1345f764600000
> > >
> > > IMPORTANT: if you fix the bug, please add the following tag to the commit:
> > > Reported-by: syzbot+8e6326965378936537c3@xxxxxxxxxxxxxxxxxxxxxxxxx
> > > Fixes: 06a833a1167e ("mm: introduce MADV_PAGEOUT")
> > >
> > > raw: 01fffc0000090025 dead000000000100 dead000000000122 ffff88809c49f741
> > > raw: 0000000000020000 0000000000000000 00000002ffffffff ffff88821b6eaac0
> > > page dumped because: VM_BUG_ON_PAGE(PageActive(page))
> > > page->mem_cgroup:ffff88821b6eaac0
> > > ------------[ cut here ]------------
> > > kernel BUG at mm/vmscan.c:1156!
> > > invalid opcode: 0000 [#1] PREEMPT SMP KASAN
> > > CPU: 1 PID: 9846 Comm: syz-executor110 Not tainted 5.3.0-rc2-next-20190729
> > > #54
> > > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> > > Google 01/01/2011
> > > RIP: 0010:shrink_page_list+0x2872/0x5430 mm/vmscan.c:1156
> >
> > My old version had PG_active flag clear but it seems to lose it with revising
> > patchsets. Thanks, Sizbot!
> >
> > >From 66d64988619ef7e86b0002b2fc20fdf5b84ad49c Mon Sep 17 00:00:00 2001
> > From: Minchan Kim <minchan@xxxxxxxxxx>
> > Date: Sat, 3 Aug 2019 04:54:02 +0900
> > Subject: [PATCH] mm: Clear PG_active on MADV_PAGEOUT
> >
> > shrink_page_list expects every pages as argument should be no active
> > LRU pages so we need to clear PG_active.
>
> Ups, missed that during review.
>
> >
> > Reported-by: syzbot+8e6326965378936537c3@xxxxxxxxxxxxxxxxxxxxxxxxx
> > Fixes: 06a833a1167e ("mm: introduce MADV_PAGEOUT")
>
> This is not a valid sha1 because it likely comes from linux-next. I
> guess Andrew will squash it into mm-introduce-madv_pageout.patch
>
> Just for the record
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>
>
> And thanks for syzkaller to exercise the new interface so quickly!

syzkaller don't have any new descriptions for MADV_PAGEOUT. It's just
the power of rand. If there is something more complex than just a
single flag, then it may benefit from explicit interface descriptions.


> > Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
> > ---
> > mm/vmscan.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/mm/vmscan.c b/mm/vmscan.c
> > index 47aa2158cfac2..e2a8d3f5bbe48 100644
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -2181,6 +2181,7 @@ unsigned long reclaim_pages(struct list_head *page_list)
> > }
> >
> > if (nid == page_to_nid(page)) {
> > + ClearPageActive(page);
> > list_move(&page->lru, &node_page_list);
> > continue;
> > }
> > --
> > 2.22.0.770.g0f2c4a37fd-goog
>
> --
> Michal Hocko
> SUSE Labs
>
> --
> You received this message because you are subscribed to the Google Groups "syzkaller-bugs" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller-bugs+unsubscribe@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/20190806082907.GI11812%40dhcp22.suse.cz.