INFO: trying to register non-static key in unmap_page_range

From: syzbot
Date: Sat Sep 05 2020 - 06:19:22 EST


Hello,

syzbot found the following issue on:

HEAD commit: b51594df Merge tag 'docs-5.9-3' of git://git.lwn.net/linux
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=148e7656900000
kernel config: https://syzkaller.appspot.com/x/.config?x=3c5f6ce8d5b68299
dashboard link: https://syzkaller.appspot.com/bug?extid=1c2be5d844dee3f85c32
compiler: gcc (GCC) 10.1.0-syz 20200507

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+1c2be5d844dee3f85c32@xxxxxxxxxxxxxxxxxxxxxxxxx

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 0 PID: 21186 Comm: syz-executor.1 Not tainted 5.9.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x198/0x1fd lib/dump_stack.c:118
assign_lock_key kernel/locking/lockdep.c:894 [inline]
register_lock_class+0x157d/0x1630 kernel/locking/lockdep.c:1206
__lock_acquire+0xf9/0x5570 kernel/locking/lockdep.c:4305
lock_acquire+0x1f3/0xae0 kernel/locking/lockdep.c:5006
__raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
_raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:151
spin_lock include/linux/spinlock.h:354 [inline]
zap_pte_range mm/memory.c:1049 [inline]
zap_pmd_range mm/memory.c:1195 [inline]
zap_pud_range mm/memory.c:1224 [inline]
zap_p4d_range mm/memory.c:1245 [inline]
unmap_page_range+0xa74/0x2b20 mm/memory.c:1266
unmap_single_vma+0x198/0x300 mm/memory.c:1311
unmap_vmas+0x168/0x2e0 mm/memory.c:1343
exit_mmap+0x2b1/0x530 mm/mmap.c:3183
__mmput+0x122/0x470 kernel/fork.c:1076
mmput+0x53/0x60 kernel/fork.c:1097
exit_mm kernel/exit.c:483 [inline]
do_exit+0xa8b/0x29f0 kernel/exit.c:793
do_group_exit+0x125/0x310 kernel/exit.c:903
get_signal+0x428/0x1f00 kernel/signal.c:2757
arch_do_signal+0x82/0x2520 arch/x86/kernel/signal.c:811
exit_to_user_mode_loop kernel/entry/common.c:136 [inline]
exit_to_user_mode_prepare+0x1ae/0x200 kernel/entry/common.c:167
syscall_exit_to_user_mode+0x7e/0x2e0 kernel/entry/common.c:242
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x45d5b9
Code: Bad RIP value.
RSP: 002b:00007ff293e13c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: 0000000000001000 RBX: 0000000000038900 RCX: 000000000045d5b9
RDX: 0000000000001058 RSI: 0000000020001440 RDI: 0000000000000004
RBP: 000000000118d020 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118cfec
R13: 000000000169fb6f R14: 00007ff293e149c0 R15: 000000000118cfec


---
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.