============================================ WARNING: possible recursive locking detected 5.10.0-rc6-syzkaller #0 Not tainted -------------------------------------------- syz-executor.2/9775 is trying to acquire lock: ffff88806b508828 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: i_mmap_lock_write include/linux/fs.h:493 [inline] ffff88806b508828 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: unmap_ref_private mm/hugetlb.c:4019 [inline] ffff88806b508828 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: hugetlb_cow+0xedf/0x15f0 mm/hugetlb.c:4110 but task is already holding lock: ffff88806b508828 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: i_mmap_lock_read include/linux/fs.h:508 [inline] ffff88806b508828 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: hugetlb_fault+0x26c/0x2330 mm/hugetlb.c:4485 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.2/9775: #0: ffff888019f8f3e8 (&mm->mmap_lock#2){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:56 [inline] #0: ffff888019f8f3e8 (&mm->mmap_lock#2){++++}-{3:3}, at: do_user_addr_fault+0x25c/0xb40 arch/x86/mm/fault.c:1313 #1: ffff88806b508828 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: i_mmap_lock_read include/linux/fs.h:508 [inline] #1: ffff88806b508828 (&hugetlbfs_i_mmap_rwsem_key){++++}-{3:3}, at: hugetlb_fault+0x26c/0x2330 mm/hugetlb.c:4485 #2: ffff8880127588d8 (&hugetlb_fault_mutex_table[i]){+.+.}-{3:3}, at: hugetlb_fault+0x368/0x2330 mm/hugetlb.c:4499 stack backtrace: CPU: 0 PID: 9775 Comm: syz-executor.2 Not tainted 5.10.0-rc6-syzkaller #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x107/0x163 lib/dump_stack.c:118 print_deadlock_bug kernel/locking/lockdep.c:2761 [inline] check_deadlock kernel/locking/lockdep.c:2804 [inline] validate_chain kernel/locking/lockdep.c:3595 [inline] __lock_acquire.cold+0x15e/0x3b0 kernel/locking/lockdep.c:4832 lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x740 kernel/locking/lockdep.c:5402 down_write+0x8d/0x150 kernel/locking/rwsem.c:1531 i_mmap_lock_write include/linux/fs.h:493 [inline] unmap_ref_private mm/hugetlb.c:4019 [inline] hugetlb_cow+0xedf/0x15f0 mm/hugetlb.c:4110 hugetlb_fault+0x155c/0x2330 mm/hugetlb.c:4562 handle_mm_fault+0x11c3/0x55d0 mm/memory.c:4605 do_user_addr_fault+0x55b/0xb40 arch/x86/mm/fault.c:1372 handle_page_fault arch/x86/mm/fault.c:1429 [inline] exc_page_fault+0x9e/0x180 arch/x86/mm/fault.c:1485 asm_exc_page_fault+0x1e/0x30 arch/x86/include/asm/idtentry.h:583 RIP: 0010:copy_user_generic_unrolled+0x89/0xc0 arch/x86/lib/copy_user_64.S:92 Code: 38 4c 89 47 20 4c 89 4f 28 4c 89 57 30 4c 89 5f 38 48 8d 76 40 48 8d 7f 40 ff c9 75 b6 89 d1 83 e2 07 c1 e9 03 74 12 4c 8b 06 <4c> 89 07 48 8d 76 08 48 8d 7f 08 ff c9 75 ee 21 d2 74 10 89 d1 8a RSP: 0018:ffffc9000dd9fe30 EFLAGS: 00050202 RAX: 0000000000000001 RBX: 0000000000000008 RCX: 0000000000000001 RDX: 0000000000000000 RSI: ffffc9000dd9fe88 RDI: 00000000200001c0 RBP: 00000000200001c0 R08: 0000000600000005 R09: ffffc9000dd9fe8f R10: fffff52001bb3fd1 R11: 0000000000000000 R12: 00000000200001c8 R13: ffffc9000dd9fe88 R14: 0000000000000000 R15: 0000000000000000 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline] raw_copy_to_user arch/x86/include/asm/uaccess_64.h:58 [inline] _copy_to_user lib/usercopy.c:33 [inline] _copy_to_user+0xd4/0x150 lib/usercopy.c:26 copy_to_user include/linux/uaccess.h:200 [inline] do_pipe2+0x128/0x1b0 fs/pipe.c:994 __do_sys_pipe2 fs/pipe.c:1010 [inline] __se_sys_pipe2 fs/pipe.c:1008 [inline] __ia32_sys_pipe2+0x4f/0x70 fs/pipe.c:1008 do_syscall_32_irqs_on arch/x86/entry/common.c:78 [inline] __do_fast_syscall_32+0x56/0x80 arch/x86/entry/common.c:137 do_fast_syscall_32+0x2f/0x70 arch/x86/entry/common.c:160 entry_SYSENTER_compat_after_hwframe+0x4d/0x5c RIP: 0023:0xf7f25549 Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90 RSP: 002b:00000000f551f0bc EFLAGS: 00000296 ORIG_RAX: 000000000000014b RAX: ffffffffffffffda RBX: 00000000200001c0 RCX: 0000000000000800 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000