============================================ WARNING: possible recursive locking detected 5.10.0-syzkaller #0 Not tainted -------------------------------------------- syz-executor.5/14157 is trying to acquire lock: ffff888024180358 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: i_mmap_lock_write include/linux/fs.h:493 [inline] ffff888024180358 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: unmap_ref_private mm/hugetlb.c:4020 [inline] ffff888024180358 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: hugetlb_cow+0x751/0x1bc0 mm/hugetlb.c:4111 but task is already holding lock: ffff888024180358 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: i_mmap_lock_read include/linux/fs.h:508 [inline] ffff888024180358 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: hugetlb_fault+0x31e/0x1280 mm/hugetlb.c:4486 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&hugetlbfs_i_mmap_rwsem_key); lock(&hugetlbfs_i_mmap_rwsem_key); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by syz-executor.5/14157: #0: ffff888011fc9568 (&mm->mmap_lock#2){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:56 [inline] #0: ffff888011fc9568 (&mm->mmap_lock#2){++++}-{3:3}, at: do_user_addr_fault+0x2a9/0xad0 arch/x86/mm/fault.c:1334 #1: ffff888024180358 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: i_mmap_lock_read include/linux/fs.h:508 [inline] #1: ffff888024180358 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: hugetlb_fault+0x31e/0x1280 mm/hugetlb.c:4486 #2: ffff888014d100f8 (&hugetlb_fault_mutex_table[i]){+.+.}-{3:3}, at: hugetlb_fault+0x4a6/0x1280 mm/hugetlb.c:4500 stack backtrace: CPU: 1 PID: 14157 Comm: syz-executor.5 Not tainted 5.10.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:79 [inline] dump_stack+0x137/0x1be lib/dump_stack.c:120 __lock_acquire+0x2333/0x5e90 kernel/locking/lockdep.c:4670 lock_acquire+0x114/0x5e0 kernel/locking/lockdep.c:5437 down_write+0x56/0x120 kernel/locking/rwsem.c:1406 i_mmap_lock_write include/linux/fs.h:493 [inline] unmap_ref_private mm/hugetlb.c:4020 [inline] hugetlb_cow+0x751/0x1bc0 mm/hugetlb.c:4111 hugetlb_fault+0xa4c/0x1280 mm/hugetlb.c:4563 handle_mm_fault+0x223c/0x25a0 mm/memory.c:4605 do_user_addr_fault+0x50d/0xad0 arch/x86/mm/fault.c:1393 handle_page_fault arch/x86/mm/fault.c:1450 [inline] exc_page_fault+0xa1/0x1e0 arch/x86/mm/fault.c:1506 asm_exc_page_fault+0x1e/0x30 arch/x86/include/asm/idtentry.h:580 RIP: 0010:__put_user_nocheck_8+0x3/0x21 Code: 00 00 48 39 d9 73 34 0f 1f 00 89 01 31 c9 0f 1f 00 c3 66 0f 1f 44 00 00 48 bb f9 ef ff ff ff 7f 00 00 48 39 d9 73 14 0f 1f 00 <48> 89 01 31 c9 0f 1f 00 c3 0f 1f 44 00 00 0f 1f 00 b9 f2 ff ff ff RSP: 0018:ffffc90001cefb98 EFLAGS: 00010297 RAX: 00007fae279a19d0 RBX: 00007fffffffeff9 RCX: 0000000020000080 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc90001ceff38 R08: dffffc0000000000 R09: fffffbfff1a1cba6 R10: fffffbfff1a1cba6 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000027 R15: 00000000ffffffda prctl_get_tid_address kernel/sys.c:2244 [inline] __do_sys_prctl kernel/sys.c:2431 [inline] __se_sys_prctl+0x2c2/0x2810 kernel/sys.c:2284 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45e159 Code: 0d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 0f 83 db b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007fae279a0c68 EFLAGS: 00000246 ORIG_RAX: 000000000000009d RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 000000000045e159 RDX: 0000000000000000 RSI: 0000000020000080 RDI: 0000000000000028 RBP: 000000000119bfb8 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000119bf8c R13: 00007fffc0982f9f R14: 00007fae279a19c0 R15: 000000000119bf8c