============================================ WARNING: possible recursive locking detected 6.2.0-rc7-syzkaller-17891-geaed33698e35 #0 Not tainted -------------------------------------------- kworker/u4:2/39 is trying to acquire lock: ffff000119d610b0 (&tree->tree_lock#2/1){+.+.}-{3:3} , at: hfs_find_init+0xac/0xcc but task is already holding lock: ffff000119d610b0 (&tree->tree_lock#2/1){+.+.}-{3:3}, at: hfs_find_init+0xac/0xcc 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/u4:2/39: #0: ffff0000c0d40138 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x274/0x9d0 kernel/workqueue.c:2262 #1: ffff80000f6b3d80 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x2a0/0x9d0 kernel/workqueue.c:2264 #2: ffff000119d610b0 (&tree->tree_lock#2/1){+.+.}-{3:3}, at: hfs_find_init+0xac/0xcc #3: ffff000119c406f8 (&HFS_I(tree->inode)->extents_lock){+.+.}-{3:3}, at: hfs_extend_file+0x50/0x730 fs/hfs/extent.c:397 stack backtrace: CPU: 0 PID: 39 Comm: kworker/u4:2 Not tainted 6.2.0-rc7-syzkaller-17891-geaed33698e35 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023 Workqueue: writeback wb_workfn (flush-7:4) Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 dump_stack+0x1c/0x28 lib/dump_stack.c:113 __lock_acquire+0x808/0x2f48 lock_acquire+0x164/0x334 kernel/locking/lockdep.c:5668 __mutex_lock_common+0xd4/0xf64 kernel/locking/mutex.c:603 __mutex_lock kernel/locking/mutex.c:747 [inline] mutex_lock_nested+0x38/0x44 kernel/locking/mutex.c:799 hfs_find_init+0xac/0xcc hfs_ext_read_extent fs/hfs/extent.c:200 [inline] hfs_extend_file+0x118/0x730 fs/hfs/extent.c:401 hfs_bmap_reserve+0x44/0xe8 fs/hfs/btree.c:234 __hfs_ext_write_extent+0xbc/0x140 fs/hfs/extent.c:121 hfs_ext_write_extent+0x9c/0xd8 fs/hfs/extent.c:144 hfs_write_inode+0x68/0x474 fs/hfs/inode.c:431 write_inode fs/fs-writeback.c:1451 [inline] __writeback_single_inode+0x530/0xeb8 fs/fs-writeback.c:1663 writeback_sb_inodes+0x410/0x8bc fs/fs-writeback.c:1889 wb_writeback+0x260/0xa10 fs/fs-writeback.c:2063 wb_do_writeback fs/fs-writeback.c:2206 [inline] wb_workfn+0x200/0x85c fs/fs-writeback.c:2246 process_one_work+0x3ac/0x9d0 kernel/workqueue.c:2289 worker_thread+0x340/0x608 kernel/workqueue.c:2436 kthread+0x12c/0x158 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870