[syzbot] WARNING in split_huge_page_to_list

34 views
Skip to first unread message

syzbot

unread,
Aug 20, 2021, 12:48:18 PM8/20/21
to ak...@linux-foundation.org, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: f87d64319e6f Merge tag 'net-5.14-rc7' of git://git.kernel...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1205bd55300000
kernel config: https://syzkaller.appspot.com/x/.config?x=3205625db2f96ac9
dashboard link: https://syzkaller.appspot.com/bug?extid=0c65e03871b364e714a3
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.1

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+0c65e0...@syzkaller.appspotmail.com

__do_munmap+0x627/0x11c0 mm/mmap.c:2911
do_munmap mm/mmap.c:2922 [inline]
munmap_vma_range mm/mmap.c:604 [inline]
mmap_region+0x85a/0x1760 mm/mmap.c:1753
do_mmap+0x86e/0x1180 mm/mmap.c:1584
vm_mmap_pgoff+0x1b7/0x290 mm/util.c:519
ksys_mmap_pgoff+0x4a8/0x620 mm/mmap.c:1635
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2144 at mm/huge_memory.c:2327 unmap_page mm/huge_memory.c:2327 [inline]
WARNING: CPU: 0 PID: 2144 at mm/huge_memory.c:2327 split_huge_page_to_list+0x25eb/0x3e60 mm/huge_memory.c:2700
Modules linked in:
CPU: 0 PID: 2144 Comm: kswapd1 Not tainted 5.14.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:unmap_page mm/huge_memory.c:2327 [inline]
RIP: 0010:split_huge_page_to_list+0x25eb/0x3e60 mm/huge_memory.c:2700
Code: 89 de e8 28 e1 b6 ff 84 db 0f 85 54 e0 ff ff e8 6b d9 b6 ff 48 c7 c6 e0 d8 97 89 48 89 ef e8 9c 72 e9 ff c6 05 05 dd 99 0b 01 <0f> 0b e9 32 e0 ff ff bb 02 00 00 00 e9 64 ef ff ff e8 3f d9 b6 ff
RSP: 0018:ffffc900084f76d8 EFLAGS: 00010293
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff88801c44c000 RSI: ffffffff81be0514 RDI: 0000000000000003
RBP: ffffea00021c0000 R08: 0000000000000029 R09: 00000000ffffffff
R10: ffffffff88ea7679 R11: 00000000ffffffff R12: ffff88814018d2d8
R13: ffffea00021c0008 R14: ffffea00021c0000 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f14895d5000 CR3: 0000000017350000 CR4: 00000000001506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
split_huge_page include/linux/huge_mm.h:192 [inline]
deferred_split_scan+0x5fa/0xbd0 mm/huge_memory.c:2860
do_shrink_slab+0x42d/0xbd0 mm/vmscan.c:709
shrink_slab+0x17c/0x6e0 mm/vmscan.c:869
shrink_node_memcgs mm/vmscan.c:2868 [inline]
shrink_node+0x8d1/0x1df0 mm/vmscan.c:2983
kswapd_shrink_node mm/vmscan.c:3726 [inline]
balance_pgdat+0x7ce/0x13b0 mm/vmscan.c:3917
kswapd+0x5b6/0xdb0 mm/vmscan.c:4176
kthread+0x3e5/0x4d0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

Vlastimil Babka

unread,
Aug 24, 2021, 7:41:01 AM8/24/21
to syzbot, ak...@linux-foundation.org, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com, yang Shi, Kirill A. Shutemov, Hugh Dickins
That's VM_WARN_ON_ONCE_PAGE(page_mapped(page), page);
CC folks involved in 504e070dc08f ("mm: thp: replace DEBUG_VM BUG with VM_WARN
when unmap fails for split")

Yang Shi

unread,
Aug 24, 2021, 3:09:59 PM8/24/21
to Vlastimil Babka, syzbot, Andrew Morton, Linux Kernel Mailing List, Linux MM, syzkall...@googlegroups.com, Kirill A. Shutemov, Hugh Dickins
On Tue, Aug 24, 2021 at 4:41 AM Vlastimil Babka <vba...@suse.cz> wrote:
>
> That's VM_WARN_ON_ONCE_PAGE(page_mapped(page), page);
> CC folks involved in 504e070dc08f ("mm: thp: replace DEBUG_VM BUG with VM_WARN
> when unmap fails for split")

There might be race between THP split and page unmap, and THP split
code can handle it, so it is not worth a VM_BUG.

Hugh fixed a couple of potential races, but there might be others.

syzbot

unread,
Jan 15, 2022, 12:12:13 AM1/15/22
to syzkall...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages