syzbot


possible deadlock in hfs_find_init

Status: upstream: reported C repro on 2023/03/20 17:38
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+6cc76a2d7d5627cfdabc@syzkaller.appspotmail.com
First crash: 847d, last: 3d05h
Bug presence (1)
Date Name Commit Repro Result
2023/09/15 upstream (ToT) 9fdfb15a3dbf C [report] INFO: task hung in hfs_find_init
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 possible deadlock in hfs_find_init origin:upstream 4 C error 152 1d05h 844d 0/3 upstream: reported C repro on 2023/03/22 23:14
linux-4.14 possible deadlock in hfs_find_init hfs 4 C 1 867d 899d 0/1 upstream: reported C repro on 2023/01/26 19:14
linux-4.19 possible deadlock in hfs_find_init hfs 4 C error 7 861d 927d 0/1 upstream: reported C repro on 2022/12/30 06:08
linux-6.6 possible deadlock in hfs_find_init 4 10 3d22h 26d 0/2 upstream: reported on 2025/06/17 20:55
upstream possible deadlock in hfs_find_init (2) hfs 4 C error 4415 2h20m 930d 0/29 upstream: reported C repro on 2022/12/27 00:59
upstream possible deadlock in hfs_find_init hfs 4 C done error 1 1649d 2639d 20/29 fixed on 2021/11/10 00:50
Fix bisection attempts (5)
Created Duration User Patch Repo Result
2024/03/31 17:17 2h15m bisect fix linux-6.1.y OK (0) job log log
2024/03/01 08:32 1h46m bisect fix linux-6.1.y OK (0) job log log
2024/01/12 02:26 1h32m bisect fix linux-6.1.y OK (0) job log log
2023/11/24 08:17 1h20m bisect fix linux-6.1.y OK (0) job log log
2023/10/21 06:28 1h26m bisect fix linux-6.1.y OK (0) job log log

Sample crash report:
loop3: detected capacity change from 0 to 64
======================================================
WARNING: possible circular locking dependency detected
6.1.141-syzkaller #0 Not tainted
------------------------------------------------------
syz-executor343/4306 is trying to acquire lock:
ffff88802405a0b0 (&tree->tree_lock/1){+.+.}-{3:3}, at: hfs_find_init+0x15b/0x1d0 fs/hfs/bfind.c:-1

but task is already holding lock:
ffff888024b400f8 (&HFS_I(tree->inode)->extents_lock){+.+.}-{3:3}, at: hfs_extend_file+0xd7/0x1280 fs/hfs/extent.c:397

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&HFS_I(tree->inode)->extents_lock){+.+.}-{3:3}:
       __mutex_lock_common kernel/locking/mutex.c:603 [inline]
       __mutex_lock+0x120/0xaf0 kernel/locking/mutex.c:747
       hfs_extend_file+0xd7/0x1280 fs/hfs/extent.c:397
       hfs_bmap_reserve+0x103/0x420 fs/hfs/btree.c:234
       __hfs_ext_write_extent+0x1fa/0x470 fs/hfs/extent.c:121
       hfs_ext_write_extent+0x15e/0x1e0 fs/hfs/extent.c:144
       hfs_write_inode+0x8e/0x970 fs/hfs/inode.c:434
       write_inode fs/fs-writeback.c:1460 [inline]
       __writeback_single_inode+0x75b/0x1160 fs/fs-writeback.c:1677
       writeback_sb_inodes+0xad8/0x17d0 fs/fs-writeback.c:1903
       wb_writeback+0x468/0xd00 fs/fs-writeback.c:2077
       wb_do_writeback fs/fs-writeback.c:2220 [inline]
       wb_workfn+0x435/0xec0 fs/fs-writeback.c:2260
       process_one_work+0x898/0x1160 kernel/workqueue.c:2292
       worker_thread+0xaa2/0x1250 kernel/workqueue.c:2439
       kthread+0x29d/0x330 kernel/kthread.c:376
       ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295

-> #0 (&tree->tree_lock/1){+.+.}-{3:3}:
       check_prev_add kernel/locking/lockdep.c:3090 [inline]
       check_prevs_add kernel/locking/lockdep.c:3209 [inline]
       validate_chain kernel/locking/lockdep.c:3825 [inline]
       __lock_acquire+0x2cf8/0x7c50 kernel/locking/lockdep.c:5049
       lock_acquire+0x1b4/0x490 kernel/locking/lockdep.c:5662
       __mutex_lock_common kernel/locking/mutex.c:603 [inline]
       __mutex_lock+0x120/0xaf0 kernel/locking/mutex.c:747
       hfs_find_init+0x15b/0x1d0 fs/hfs/bfind.c:-1
       hfs_ext_read_extent fs/hfs/extent.c:200 [inline]
       hfs_extend_file+0x2eb/0x1280 fs/hfs/extent.c:401
       hfs_bmap_reserve+0x103/0x420 fs/hfs/btree.c:234
       hfs_cat_create+0x1c0/0x8d0 fs/hfs/catalog.c:104
       hfs_create+0x62/0xd0 fs/hfs/dir.c:202
       lookup_open fs/namei.c:3482 [inline]
       open_last_lookups fs/namei.c:3550 [inline]
       path_openat+0x1187/0x2e70 fs/namei.c:3780
       do_filp_open+0x1c1/0x3c0 fs/namei.c:3810
       do_sys_openat2+0x142/0x490 fs/open.c:1318
       do_sys_open fs/open.c:1334 [inline]
       __do_sys_openat fs/open.c:1350 [inline]
       __se_sys_openat fs/open.c:1345 [inline]
       __x64_sys_openat+0x135/0x160 fs/open.c:1345
       do_syscall_x64 arch/x86/entry/common.c:51 [inline]
       do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
       entry_SYSCALL_64_after_hwframe+0x68/0xd2

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&HFS_I(tree->inode)->extents_lock);
                               lock(&tree->tree_lock/1);
                               lock(&HFS_I(tree->inode)->extents_lock);
  lock(&tree->tree_lock/1);

 *** DEADLOCK ***

4 locks held by syz-executor343/4306:
 #0: ffff888078706460 (sb_writers#9){.+.+}-{0:0}, at: mnt_want_write+0x3d/0x90 fs/namespace.c:393
 #1: ffff8880754d36a8 (&type->i_mutex_dir_key#6){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
 #1: ffff8880754d36a8 (&type->i_mutex_dir_key#6){+.+.}-{3:3}, at: open_last_lookups fs/namei.c:3547 [inline]
 #1: ffff8880754d36a8 (&type->i_mutex_dir_key#6){+.+.}-{3:3}, at: path_openat+0x7c2/0x2e70 fs/namei.c:3780
 #2: ffff888024c180b0 (&tree->tree_lock){+.+.}-{3:3}, at: hfs_find_init+0x15b/0x1d0 fs/hfs/bfind.c:-1
 #3: ffff888024b400f8 (&HFS_I(tree->inode)->extents_lock){+.+.}-{3:3}, at: hfs_extend_file+0xd7/0x1280 fs/hfs/extent.c:397

stack backtrace:
CPU: 0 PID: 4306 Comm: syz-executor343 Not tainted 6.1.141-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x168/0x22e lib/dump_stack.c:106
 check_noncircular+0x274/0x310 kernel/locking/lockdep.c:2170
 check_prev_add kernel/locking/lockdep.c:3090 [inline]
 check_prevs_add kernel/locking/lockdep.c:3209 [inline]
 validate_chain kernel/locking/lockdep.c:3825 [inline]
 __lock_acquire+0x2cf8/0x7c50 kernel/locking/lockdep.c:5049
 lock_acquire+0x1b4/0x490 kernel/locking/lockdep.c:5662
 __mutex_lock_common kernel/locking/mutex.c:603 [inline]
 __mutex_lock+0x120/0xaf0 kernel/locking/mutex.c:747
 hfs_find_init+0x15b/0x1d0 fs/hfs/bfind.c:-1
 hfs_ext_read_extent fs/hfs/extent.c:200 [inline]
 hfs_extend_file+0x2eb/0x1280 fs/hfs/extent.c:401
 hfs_bmap_reserve+0x103/0x420 fs/hfs/btree.c:234
 hfs_cat_create+0x1c0/0x8d0 fs/hfs/catalog.c:104
 hfs_create+0x62/0xd0 fs/hfs/dir.c:202
 lookup_open fs/namei.c:3482 [inline]
 open_last_lookups fs/namei.c:3550 [inline]
 path_openat+0x1187/0x2e70 fs/namei.c:3780
 do_filp_open+0x1c1/0x3c0 fs/namei.c:3810
 do_sys_openat2+0x142/0x490 fs/open.c:1318
 do_sys_open fs/open.c:1334 [inline]
 __do_sys_openat fs/open.c:1350 [inline]
 __se_sys_openat fs/open.c:1345 [inline]
 __x64_sys_openat+0x135/0x160 fs/open.c:1345
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fb2287aba09
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 b1 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb228767168 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00007fb2288346c8 RCX: 00007fb2287aba09
RDX: 000000000000275a RSI: 0000200000000000 RDI: 00000000ffffff9c
RBP: 00007fb2288346c0 R08: 00007fb2288346c0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fb2288346cc
R13: 0000000000000006 R14: 00007fff0b3ed330 R15: 00007fff0b3ed418
 </TASK>
hfs: request for non-existent node 16777216 in B*Tree
hfs: request for non-existent node 16777216 in B*Tree
hfs: inconsistency in B*Tree (5,0,1,0,1)

Crashes (189):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/16 11:35 linux-6.1.y 58485ff1a74f 5f4b362d .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2023/09/14 14:26 linux-6.1.y 09045dae0d90 0b6a67ac .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2024/11/10 08:51 linux-6.1.y d7039b844a1c 6b856513 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2024/04/06 01:54 linux-6.1.y 347385861c50 77230c29 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2024/01/21 20:03 linux-6.1.y 8fd7f4462453 9bd8dcda .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2023/09/15 22:59 linux-6.1.y 09045dae0d90 0b6a67ac .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2023/06/17 03:18 linux-6.1.y ca87e77a2ef8 f3921d4d .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/07/04 00:15 linux-6.1.y 7e69c33e4858 76ad128c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/07/03 10:27 linux-6.1.y 7e69c33e4858 115ceea7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/06/04 20:54 linux-6.1.y 58485ff1a74f e565f08d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/06/04 01:50 linux-6.1.y da3c5173c55f a30356b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/06/03 10:34 linux-6.1.y da3c5173c55f a30356b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/06/01 00:01 linux-6.1.y da3c5173c55f 3d2f584d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/05/26 20:31 linux-6.1.y da3c5173c55f 874a1386 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/04/23 10:27 linux-6.1.y 420102835862 53a8b9bd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/04/10 19:39 linux-6.1.y 420102835862 1ef3ab4d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/04/09 23:45 linux-6.1.y 3dfebb87d7eb 988b336c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/03/27 01:30 linux-6.1.y 344a09659766 20510e88 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/03/17 09:03 linux-6.1.y 344a09659766 948c34e4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
2025/07/11 12:46 linux-6.1.y dfc486ec9cce 3cda49cf .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/27 15:19 linux-6.1.y 7e69c33e4858 803ce19b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/26 03:45 linux-6.1.y 58485ff1a74f 26d77996 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/26 02:34 linux-6.1.y 58485ff1a74f 26d77996 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/23 06:09 linux-6.1.y 58485ff1a74f d6cdfb8a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/22 13:55 linux-6.1.y 58485ff1a74f d6cdfb8a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/20 16:50 linux-6.1.y 58485ff1a74f 804b3919 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/20 00:27 linux-6.1.y 58485ff1a74f ed3e87f7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/17 08:56 linux-6.1.y 58485ff1a74f cfebc887 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/16 20:09 linux-6.1.y 58485ff1a74f d1716036 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/16 18:45 linux-6.1.y 58485ff1a74f d1716036 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/06/01 07:38 linux-6.1.y da3c5173c55f 3d2f584d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/05/19 08:17 linux-6.1.y 325285d9fc86 f41472b0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/05/19 01:14 linux-6.1.y 325285d9fc86 f41472b0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/27 00:59 linux-6.1.y 535ec20c5027 c6b4fb39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/24 09:54 linux-6.1.y 420102835862 9882047a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/20 10:18 linux-6.1.y 420102835862 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/18 01:03 linux-6.1.y 420102835862 2a20f901 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/17 06:57 linux-6.1.y 420102835862 a95239b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/14 07:47 linux-6.1.y 420102835862 0bd6db41 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/08 13:27 linux-6.1.y 3dfebb87d7eb a775275d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/07 16:19 linux-6.1.y 3dfebb87d7eb a2ada0e7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/07 12:30 linux-6.1.y 3dfebb87d7eb 1c65791e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/07 00:40 linux-6.1.y 8e60a714ba3b 1c65791e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/04/01 17:41 linux-6.1.y 8e60a714ba3b b8645499 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/31 05:14 linux-6.1.y 8e60a714ba3b d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/30 19:57 linux-6.1.y 8e60a714ba3b d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/29 20:28 linux-6.1.y 8e60a714ba3b d3999433 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/27 12:16 linux-6.1.y 344a09659766 20510e88 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/27 00:03 linux-6.1.y 344a09659766 20510e88 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/24 03:03 linux-6.1.y 344a09659766 875573af .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/23 00:22 linux-6.1.y 344a09659766 c6512ef7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/20 22:57 linux-6.1.y 344a09659766 62330552 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/19 19:11 linux-6.1.y 344a09659766 e20d7b13 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/18 00:08 linux-6.1.y 344a09659766 ce3352cd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/03/04 05:54 linux-6.1.y 3a8358583626 c3901742 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2025/02/26 08:19 linux-6.1.y 3a8358583626 d34966d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 possible deadlock in hfs_find_init
2023/03/20 17:38 linux-6.1.y 7eaef76fbc46 7939252e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan possible deadlock in hfs_find_init
* Struck through repros no longer work on HEAD.