syzbot


possible deadlock in mi_read (2)

Status: upstream: reported C repro on 2025/01/13 02:48
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+c69c5ad75584648b282b@syzkaller.appspotmail.com
First crash: 295d, last: 8d09h
Bug presence (1)
Date Name Commit Repro Result
2025/01/13 upstream (ToT) 5bc55a333a2f C [report] possible deadlock in mi_read
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in mi_read ntfs3 4 C error 11141 357d 1130d 28/29 fixed on 2024/11/12 23:31
linux-6.6 possible deadlock in mi_read 4 1 25d 25d 0/2 upstream: reported on 2025/10/10 02:42
upstream possible deadlock in mi_read (2) ntfs3 4 C inconclusive 397 19h15m 352d 0/29 upstream: reported C repro on 2024/11/17 08:21
linux-5.15 possible deadlock in mi_read origin:upstream missing-backport 4 C done 827 361d 966d 3/3 fixed on 2024/12/22 10:18
linux-6.1 possible deadlock in mi_read origin:upstream missing-backport 4 C done 841 7d12h 963d 0/3 upstream: reported C repro on 2023/03/17 09:05
Last patch testing requests (8)
Created Duration User Patch Repo Result
2025/09/30 20:15 9m retest repro linux-5.15.y report log
2025/09/06 15:16 9m retest repro linux-5.15.y report log
2025/08/04 04:04 17m retest repro linux-5.15.y OK log
2025/06/18 13:28 2h13m (2) retest repro linux-5.15.y error
2025/06/18 13:28 10m retest repro linux-5.15.y report log
2025/05/19 09:42 20m retest repro linux-5.15.y report log
2025/04/07 07:16 13m retest repro linux-5.15.y report log
2025/04/07 07:16 10m retest repro linux-5.15.y report log
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2025/08/21 13:26 3h14m bisect fix linux-5.15.y OK (0) job log log
2025/07/20 09:28 1h43m bisect fix linux-5.15.y OK (0) job log log

Sample crash report:
============================================
WARNING: possible recursive locking detected
syzkaller #0 Not tainted
--------------------------------------------
syz.4.21/4493 is trying to acquire lock:
ffff888057c7a5e0 (&ni->ni_lock/5){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1100 [inline]
ffff888057c7a5e0 (&ni->ni_lock/5){+.+.}-{3:3}, at: mi_read+0x2d0/0x590 fs/ntfs3/record.c:148

but task is already holding lock:
ffff8880587ee0e0 (&ni->ni_lock/5){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1100 [inline]
ffff8880587ee0e0 (&ni->ni_lock/5){+.+.}-{3:3}, at: ntfs_link+0xf2/0x280 fs/ntfs3/namei.c:149

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&ni->ni_lock/5);
  lock(&ni->ni_lock/5);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

6 locks held by syz.4.21/4493:
 #0: ffff8880782de460 (sb_writers#13){.+.+}-{0:0}, at: mnt_want_write+0x3d/0x90 fs/namespace.c:377
 #1: ffff888057c0bea0 (&type->i_mutex_dir_key#8/1){+.+.}-{3:3}, at: inode_lock_nested include/linux/fs.h:822 [inline]
 #1: ffff888057c0bea0 (&type->i_mutex_dir_key#8/1){+.+.}-{3:3}, at: filename_create+0x1f2/0x450 fs/namei.c:3835
 #2: ffff8880587ee380 (&sb->s_type->i_mutex_key#21){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline]
 #2: ffff8880587ee380 (&sb->s_type->i_mutex_key#21){+.+.}-{3:3}, at: vfs_link+0x513/0x7c0 fs/namei.c:4548
 #3: ffff888057c0bc00 (&ni->ni_lock/6){+.+.}-{3:3}, at: ni_lock_dir fs/ntfs3/ntfs_fs.h:1105 [inline]
 #3: ffff888057c0bc00 (&ni->ni_lock/6){+.+.}-{3:3}, at: ntfs_link+0xd7/0x280 fs/ntfs3/namei.c:147
 #4: ffff8880587ee0e0 (&ni->ni_lock/5){+.+.}-{3:3}, at: ni_lock fs/ntfs3/ntfs_fs.h:1100 [inline]
 #4: ffff8880587ee0e0 (&ni->ni_lock/5){+.+.}-{3:3}, at: ntfs_link+0xf2/0x280 fs/ntfs3/namei.c:149
 #5: ffff8880782dc120 (&wnd->rw_lock/1){+.+.}-{3:3}, at: ntfs_look_free_mft+0x160/0xd30 fs/ntfs3/fsntfs.c:542

stack backtrace:
CPU: 1 PID: 4493 Comm: syz.4.21 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
 <TASK>
 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
 ni_lock fs/ntfs3/ntfs_fs.h:1100 [inline]
 mi_read+0x2d0/0x590 fs/ntfs3/record.c:148
 mi_format_new+0x191/0x5c0 fs/ntfs3/record.c:374
 ni_add_subrecord+0xcc/0x440 fs/ntfs3/frecord.c:372
 ntfs_look_free_mft+0x6a4/0xd30 fs/ntfs3/fsntfs.c:686
 ni_create_attr_list+0x8a9/0x1210 fs/ntfs3/frecord.c:850
 ni_ins_attr_ext+0x304/0x9b0 fs/ntfs3/frecord.c:951
 ni_insert_attr fs/ntfs3/frecord.c:1105 [inline]
 ni_insert_resident fs/ntfs3/frecord.c:1479 [inline]
 ni_add_name+0x32f/0x7c0 fs/ntfs3/frecord.c:2985
 ntfs_link_inode+0x315/0x3d0 fs/ntfs3/inode.c:1716
 ntfs_link+0x114/0x280 fs/ntfs3/namei.c:154
 vfs_link+0x615/0x7c0 fs/namei.c:4557
 do_linkat+0x277/0x7b0 fs/namei.c:4628
 __do_sys_linkat fs/namei.c:4656 [inline]
 __se_sys_linkat fs/namei.c:4653 [inline]
 __x64_sys_linkat+0xda/0xf0 fs/namei.c:4653
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f7f374bbba9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f7f36b0a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000109
RAX: ffffffffffffffda RBX: 00007f7f37703090 RCX: 00007f7f374bbba9
RDX: 0000000000000005 RSI: 0000200000000300 RDI: 0000000000000005
RBP: 00007f7f3753ee19 R08: 0000000000000000 R09: 0000000000000000
R10: 0000200000000400 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f7f37703128 R14: 00007f7f37703090 R15: 00007ffe0afc3a08
 </TASK>

Crashes (19):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/16 09:53 linux-5.15.y 43bb85222e53 e2beed91 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/01/13 03:51 linux-5.15.y 4735586da88e 6dbc6a9b .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/01/13 03:12 linux-5.15.y 4735586da88e 6dbc6a9b .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/10/27 09:43 linux-5.15.y ac56c046adf4 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/10/27 09:40 linux-5.15.y ac56c046adf4 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/10/27 09:37 linux-5.15.y ac56c046adf4 c0460fcd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/10/04 08:28 linux-5.15.y 29e53a5b1c4f 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/10/04 08:25 linux-5.15.y 29e53a5b1c4f 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/10/04 08:23 linux-5.15.y 29e53a5b1c4f 49379ee0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/09/16 08:47 linux-5.15.y 43bb85222e53 e2beed91 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/05/04 21:21 linux-5.15.y 16fdf2c7111b b0714e37 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/05/04 20:35 linux-5.15.y 16fdf2c7111b b0714e37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/03/16 22:43 linux-5.15.y 0c935c049b5c e2826670 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/03/16 22:43 linux-5.15.y 0c935c049b5c e2826670 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/02/20 11:54 linux-5.15.y c16c81c81336 50668798 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/02/20 11:54 linux-5.15.y c16c81c81336 50668798 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/01/13 02:47 linux-5.15.y 4735586da88e 6dbc6a9b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/01/13 02:47 linux-5.15.y 4735586da88e 6dbc6a9b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in mi_read
2025/03/07 06:27 linux-5.15.y c16c81c81336 831e3629 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in mi_read
* Struck through repros no longer work on HEAD.