Re: [syzbot] BUG: sleeping function called from invalid context in munlock_vma_pages_range

From: Hugh Dickins
Date: Thu Jul 15 2021 - 17:25:08 EST


On Thu, 15 Jul 2021, syzbot wrote:

> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 98f7fdced2e0 Merge tag 'irq-urgent-2021-07-11' of git://gi..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=13576e9c300000
> kernel config: https://syzkaller.appspot.com/x/.config?x=da2203b984f4af9f
> dashboard link: https://syzkaller.appspot.com/bug?extid=2e3ee45ea14cd0b81f26
> compiler: Debian clang version 11.0.1-2
>
> 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+2e3ee45ea14cd0b81f26@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> BUG: sleeping function called from invalid context at mm/mlock.c:482

Fixed by
023e1a8dd502 ("mm/rmap: fix new bug: premature return from page_mlock_one()")
which went into the tree soon after the HEAD shown above
(but was posted before any syzbot report, so contained no syzbot tag).

> in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 14373, name: syz-executor.5
> INFO: lockdep is turned off.
> Preemption disabled at:
> [<0000000000000000>] 0x0
> CPU: 1 PID: 14373 Comm: syz-executor.5 Tainted: G W 5.13.0-syzkaller #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
> Call Trace:
> __dump_stack lib/dump_stack.c:88 [inline]
> dump_stack_lvl+0x1d3/0x29f lib/dump_stack.c:105
> ___might_sleep+0x4e5/0x6b0 kernel/sched/core.c:9154
> munlock_vma_pages_range+0xa80/0xf60 mm/mlock.c:482
> mlock_fixup+0x40f/0x580 mm/mlock.c:552
> apply_mlockall_flags mm/mlock.c:768 [inline]
> __do_sys_munlockall+0x1ef/0x310 mm/mlock.c:810
> do_syscall_x64 arch/x86/entry/common.c:50 [inline]
> do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
> entry_SYSCALL_64_after_hwframe+0x44/0xae
> RIP: 0033:0x4665d9
> Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
> RSP: 002b:00007f448bc37188 EFLAGS: 00000246 ORIG_RAX: 0000000000000098
> RAX: ffffffffffffffda RBX: 000000000056bf80 RCX: 00000000004665d9
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> RBP: 00000000004bfcb9 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf80
> R13: 00007ffe7eb2d2ef R14: 00007f448bc37300 R15: 0000000000022000
>
>
> ---
> 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 syzkaller@xxxxxxxxxxxxxxxx.
>
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.