============================================ WARNING: possible recursive locking detected 5.15.184-syzkaller #0 Not tainted -------------------------------------------- kworker/u4:1/144 is trying to acquire lock: ffff888079dc40b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfsplus_find_init+0x150/0x1c0 fs/hfsplus/bfind.c:28 but task is already holding lock: ffff888079dc40b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfsplus_find_init+0x150/0x1c0 fs/hfsplus/bfind.c:28 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 5 locks held by kworker/u4:1/144: #0: ffff8881427df938 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x760/0x1000 kernel/workqueue.c:-1 #1: ffffc9000171fd00 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x7a3/0x1000 kernel/workqueue.c:2285 #2: ffff8880790ca988 (&hip->extents_lock){+.+.}-{3:3}, at: hfsplus_ext_write_extent+0x87/0x200 fs/hfsplus/extents.c:149 #3: ffff888079dc40b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfsplus_find_init+0x150/0x1c0 fs/hfsplus/bfind.c:28 #4: ffff8880790c8108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{3:3}, at: hfsplus_file_extend+0x1b3/0x1950 fs/hfsplus/extents.c:458 stack backtrace: CPU: 1 PID: 144 Comm: kworker/u4:1 Not tainted 5.15.184-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: writeback wb_workfn (flush-7:0) Call Trace: dump_stack_lvl+0x168/0x230 lib/dump_stack.c:106 __lock_acquire+0x1227/0x7c60 kernel/locking/lockdep.c:-1 lock_acquire+0x197/0x3f0 kernel/locking/lockdep.c:5623 __mutex_lock_common+0x1eb/0x2390 kernel/locking/mutex.c:596 __mutex_lock kernel/locking/mutex.c:729 [inline] mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:743 hfsplus_find_init+0x150/0x1c0 fs/hfsplus/bfind.c:28 hfsplus_ext_read_extent fs/hfsplus/extents.c:216 [inline] hfsplus_file_extend+0x417/0x1950 fs/hfsplus/extents.c:462 hfsplus_bmap_reserve+0x11e/0x4f0 fs/hfsplus/btree.c:357 __hfsplus_ext_write_extent+0x28d/0x5b0 fs/hfsplus/extents.c:104 hfsplus_ext_write_extent_locked fs/hfsplus/extents.c:139 [inline] hfsplus_ext_write_extent+0x177/0x200 fs/hfsplus/extents.c:150 hfsplus_write_inode+0x1e/0x5b0 fs/hfsplus/super.c:154 write_inode fs/fs-writeback.c:1495 [inline] __writeback_single_inode+0x6c3/0xda0 fs/fs-writeback.c:1705 writeback_sb_inodes+0x9fe/0x1610 fs/fs-writeback.c:1930 wb_writeback+0x443/0xb90 fs/fs-writeback.c:2104 wb_do_writeback fs/fs-writeback.c:2247 [inline] wb_workfn+0x423/0xe60 fs/fs-writeback.c:2288 process_one_work+0x863/0x1000 kernel/workqueue.c:2310 worker_thread+0xaa8/0x12a0 kernel/workqueue.c:2457 kthread+0x436/0x520 kernel/kthread.c:334 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287