============================================ WARNING: possible recursive locking detected 6.15.0-rc5-syzkaller-gc32f8dc5aaf9 #0 Not tainted -------------------------------------------- kworker/u8:11/2597 is trying to acquire lock: ffff0000cba5e0b0 (&tree->tree_lock#2/1){+.+.}-{4:4}, at: hfs_find_init+0x148/0x1c8 fs/hfs/bfind.c:-1 but task is already holding lock: ffff0000cba5e0b0 (&tree->tree_lock#2/1){+.+.}-{4:4}, at: hfs_find_init+0x148/0x1c8 fs/hfs/bfind.c:-1 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&tree->tree_lock#2/1); lock(&tree->tree_lock#2/1); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by kworker/u8:11/2597: #0: ffff0000c25b6948 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x658/0x156c kernel/workqueue.c:3212 #1: ffff8000a1ea7bc0 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x6ec/0x156c kernel/workqueue.c:3212 #2: ffff0000cba5e0b0 (&tree->tree_lock#2/1){+.+.}-{4:4}, at: hfs_find_init+0x148/0x1c8 fs/hfs/bfind.c:-1 #3: ffff0000f8da75f8 (&HFS_I(tree->inode)->extents_lock){+.+.}-{4:4}, at: hfs_extend_file+0xd4/0xf4c fs/hfs/extent.c:397 stack backtrace: CPU: 0 UID: 0 PID: 2597 Comm: kworker/u8:11 Not tainted 6.15.0-rc5-syzkaller-gc32f8dc5aaf9 #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: writeback wb_workfn (flush-7:3) Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 print_deadlock_bug+0x2e8/0x2f0 kernel/locking/lockdep.c:3042 check_deadlock kernel/locking/lockdep.c:3094 [inline] validate_chain kernel/locking/lockdep.c:3896 [inline] __lock_acquire+0x28f4/0x3058 kernel/locking/lockdep.c:5235 lock_acquire+0x14c/0x2e0 kernel/locking/lockdep.c:5866 __mutex_lock_common+0x1d0/0x2190 kernel/locking/mutex.c:601 __mutex_lock kernel/locking/mutex.c:746 [inline] mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:798 hfs_find_init+0x148/0x1c8 fs/hfs/bfind.c:-1 hfs_ext_read_extent fs/hfs/extent.c:200 [inline] hfs_extend_file+0x238/0xf4c fs/hfs/extent.c:401 hfs_bmap_reserve+0xd4/0x3e0 fs/hfs/btree.c:234 __hfs_ext_write_extent+0x19c/0x488 fs/hfs/extent.c:121 hfs_ext_write_extent+0x144/0x1bc fs/hfs/extent.c:144 hfs_write_inode+0xbc/0x704 fs/hfs/inode.c:429 write_inode fs/fs-writeback.c:1525 [inline] __writeback_single_inode+0x5ac/0x13e8 fs/fs-writeback.c:1745 writeback_sb_inodes+0x558/0xe38 fs/fs-writeback.c:1976 wb_writeback+0x3cc/0xd70 fs/fs-writeback.c:2156 wb_do_writeback fs/fs-writeback.c:2303 [inline] wb_workfn+0x338/0xdc0 fs/fs-writeback.c:2343 process_one_work+0x7e8/0x156c kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3400 kthread+0x5fc/0x75c kernel/kthread.c:464 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:847