============================================ WARNING: possible recursive locking detected 6.15.0-rc5-syzkaller-00300-g3ce9925823c7 #0 Not tainted -------------------------------------------- kworker/u8:7/1154 is trying to acquire lock: ffff88805f6360b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfs_find_init+0x165/0x1e0 fs/hfs/bfind.c:-1 but task is already holding lock: ffff88805f6360b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfs_find_init+0x165/0x1e0 fs/hfs/bfind.c:-1 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&tree->tree_lock/1); lock(&tree->tree_lock/1); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by kworker/u8:7/1154: #0: ffff8880202c5948 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3213 [inline] #0: ffff8880202c5948 ((wq_completion)writeback){+.+.}-{0:0}, at: process_scheduled_works+0x9b1/0x17a0 kernel/workqueue.c:3319 #1: ffffc90003d7fc60 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3214 [inline] #1: ffffc90003d7fc60 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9ec/0x17a0 kernel/workqueue.c:3319 #2: ffff88805f6360b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfs_find_init+0x165/0x1e0 fs/hfs/bfind.c:-1 #3: ffff88806abccef8 (&HFS_I(tree->inode)->extents_lock){+.+.}-{4:4}, at: hfs_extend_file+0xda/0x1230 fs/hfs/extent.c:397 stack backtrace: CPU: 1 UID: 0 PID: 1154 Comm: kworker/u8:7 Not tainted 6.15.0-rc5-syzkaller-00300-g3ce9925823c7 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: writeback wb_workfn (flush-7:2) 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 hfs_find_init+0x165/0x1e0 fs/hfs/bfind.c:-1 hfs_ext_read_extent fs/hfs/extent.c:200 [inline] hfs_extend_file+0x2ee/0x1230 fs/hfs/extent.c:401 hfs_bmap_reserve+0x107/0x430 fs/hfs/btree.c:234 __hfs_ext_write_extent+0x1fa/0x470 fs/hfs/extent.c:121 hfs_ext_write_extent+0x161/0x1e0 fs/hfs/extent.c:144 hfs_write_inode+0x91/0x7d0 fs/hfs/inode.c:429 write_inode fs/fs-writeback.c:1525 [inline] __writeback_single_inode+0x6ee/0xff0 fs/fs-writeback.c:1745 writeback_sb_inodes+0x6b5/0x1000 fs/fs-writeback.c:1976 wb_writeback+0x43b/0xaf0 fs/fs-writeback.c:2156 wb_do_writeback fs/fs-writeback.c:2303 [inline] wb_workfn+0x409/0xef0 fs/fs-writeback.c:2343 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xadb/0x17a0 kernel/workqueue.c:3319 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400 kthread+0x70e/0x8a0 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245