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 <[email protected]>
> 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: [email protected]
> 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 <[email protected]>
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.

Reported-by: [email protected]
Fixes: 06a833a1167e ("mm: introduce MADV_PAGEOUT")
Signed-off-by: Minchan Kim <[email protected]>
---
 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

Reply via email to