============================================ WARNING: possible recursive locking detected 6.15.0-rc4-syzkaller-00011-gf15d97df5afa #0 Not tainted -------------------------------------------- syz.0.0/5320 is trying to acquire lock: ffff88801fa9c928 (&sbi->s_alloc_mutex){+.+.}-{4:4}, at: udf_table_free_blocks fs/udf/balloc.c:375 [inline] ffff88801fa9c928 (&sbi->s_alloc_mutex){+.+.}-{4:4}, at: udf_free_blocks+0x9e2/0x17f0 fs/udf/balloc.c:677 but task is already holding lock: ffff88801fa9c928 (&sbi->s_alloc_mutex){+.+.}-{4:4}, at: udf_table_new_block fs/udf/balloc.c:581 [inline] ffff88801fa9c928 (&sbi->s_alloc_mutex){+.+.}-{4:4}, at: udf_new_block+0xfab/0x1ba0 fs/udf/balloc.c:725 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&sbi->s_alloc_mutex); lock(&sbi->s_alloc_mutex); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by syz.0.0/5320: #0: ffff88801e2d6420 (sb_writers#12){.+.+}-{0:0}, at: do_coredump+0x1e96/0x2a30 fs/coredump.c:758 #1: ffff888044d235a0 (&sb->s_type->i_mutex_key#19){+.+.}-{4:4}, at: inode_lock include/linux/fs.h:867 [inline] #1: ffff888044d235a0 (&sb->s_type->i_mutex_key#19){+.+.}-{4:4}, at: udf_file_write_iter+0x6e/0x6c0 fs/udf/file.c:95 #2: ffff888044d233d0 (&ei->i_data_sem#2){++++}-{4:4}, at: udf_map_block+0x291/0x42a0 fs/udf/inode.c:439 #3: ffff88801fa9c928 (&sbi->s_alloc_mutex){+.+.}-{4:4}, at: udf_table_new_block fs/udf/balloc.c:581 [inline] #3: ffff88801fa9c928 (&sbi->s_alloc_mutex){+.+.}-{4:4}, at: udf_new_block+0xfab/0x1ba0 fs/udf/balloc.c:725 stack backtrace: CPU: 0 UID: 0 PID: 5320 Comm: syz.0.0 Not tainted 6.15.0-rc4-syzkaller-00011-gf15d97df5afa #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_deadlock_bug+0x28b/0x2a0 kernel/locking/lockdep.c:3042 check_deadlock kernel/locking/lockdep.c:3094 [inline] validate_chain+0x1a3f/0x2140 kernel/locking/lockdep.c:3896 __lock_acquire+0xaac/0xd20 kernel/locking/lockdep.c:5235 lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5866 __mutex_lock_common kernel/locking/mutex.c:601 [inline] __mutex_lock+0x182/0xe80 kernel/locking/mutex.c:746 udf_table_free_blocks fs/udf/balloc.c:375 [inline] udf_free_blocks+0x9e2/0x17f0 fs/udf/balloc.c:677 udf_delete_aext+0x4df/0xbc0 fs/udf/inode.c:2373 udf_table_new_block fs/udf/balloc.c:645 [inline] udf_new_block+0x1404/0x1ba0 fs/udf/balloc.c:725 inode_getblk fs/udf/inode.c:895 [inline] udf_map_block+0x12b1/0x42a0 fs/udf/inode.c:447 __udf_get_block+0x52/0x250 fs/udf/inode.c:461 __block_write_begin_int+0x6b2/0x1900 fs/buffer.c:2151 block_write_begin+0x8a/0x120 fs/buffer.c:2262 udf_write_begin+0x100/0x260 fs/udf/inode.c:256 generic_perform_write+0x2c4/0x910 mm/filemap.c:4103 udf_file_write_iter+0x2d5/0x6c0 fs/udf/file.c:111 __kernel_write_iter+0x390/0x860 fs/read_write.c:617 dump_emit_page fs/coredump.c:885 [inline] dump_user_range+0x830/0xc20 fs/coredump.c:959 elf_core_dump+0x32ed/0x3900 fs/binfmt_elf.c:2128 do_coredump+0x1ec8/0x2a30 fs/coredump.c:759 get_signal+0x10d9/0x1310 kernel/signal.c:3019 arch_do_signal_or_restart+0x95/0x780 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop kernel/entry/common.c:111 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline] irqentry_exit_to_user_mode+0x81/0x120 kernel/entry/common.c:231 exc_page_fault+0x91/0x110 arch/x86/mm/fault.c:1541 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0033:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 002b:0000200000000408 EFLAGS: 00010217 RAX: 0000000000000000 RBX: 00007f11573b5fa0 RCX: 00007f115718e969 RDX: 0000000000000000 RSI: 0000200000000400 RDI: 0000000000020400 RBP: 00007f1157210ab1 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f11573b5fa0 R15: 00007ffd9d3351b8