syzbot


possible deadlock in attr_data_get_block (2)

Status: upstream: reported C repro on 2024/08/15 10:46
Subsystems: ntfs3
[Documentation on labels]
Reported-by: syzbot+262a71e9d2faf8747085@syzkaller.appspotmail.com
First crash: 576d, last: 23d
Cause bisection: failed (error log, bisect log)
  
Discussions (16)
Title Replies (including bot) Last reply
[syzbot] Monthly ntfs3 report (Mar 2026) 0 (1) 2026/03/01 06:22
[syzbot] Monthly ntfs3 report (Jan 2026) 0 (1) 2026/01/28 22:39
[syzbot] Monthly ntfs3 report (Dec 2025) 0 (1) 2025/12/29 08:11
[syzbot] Monthly ntfs3 report (Nov 2025) 0 (1) 2025/11/27 07:44
[syzbot] Monthly ntfs3 report (Oct 2025) 0 (1) 2025/10/27 08:42
[syzbot] Monthly ntfs3 report (Sep 2025) 0 (1) 2025/09/25 16:00
[syzbot] Monthly ntfs3 report (Aug 2025) 0 (1) 2025/08/25 13:19
[syzbot] Monthly ntfs3 report (May 2025) 0 (1) 2025/05/24 10:04
[syzbot] Monthly ntfs3 report (Apr 2025) 0 (1) 2025/04/22 12:41
[syzbot] Monthly ntfs3 report (Mar 2025) 0 (1) 2025/03/18 14:49
[syzbot] Monthly ntfs3 report (Feb 2025) 0 (1) 2025/02/16 21:53
[syzbot] Monthly ntfs3 report (Jan 2025) 0 (1) 2025/01/15 08:54
[syzbot] Monthly ntfs3 report (Dec 2024) 0 (1) 2024/12/16 09:44
[syzbot] Monthly ntfs3 report (Nov 2024) 0 (1) 2024/11/13 11:07
[syzbot] Monthly ntfs3 report (Sep 2024) 0 (1) 2024/09/12 08:11
[syzbot] [ntfs3?] possible deadlock in attr_data_get_block (2) 0 (1) 2024/08/15 10:46
Similar bugs (4)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 possible deadlock in attr_data_get_block origin:upstream 4 C inconclusive 522 1d16h 1080d 0/3 upstream: reported C repro on 2023/03/29 04:32
linux-6.6 possible deadlock in attr_data_get_block origin:upstream 4 C 89 1d14h 258d 0/2 upstream: reported C repro on 2025/06/27 20:24
upstream possible deadlock in attr_data_get_block ntfs3 4 C error 3111 576d 1243d 27/29 fixed on 2024/08/14 03:44
linux-5.15 possible deadlock in attr_data_get_block origin:lts-only 4 C done 408 18d 1081d 0/3 upstream: reported C repro on 2023/03/27 15:11
Last patch testing requests (8)
Created Duration User Patch Repo Result
2026/03/04 10:09 25m retest repro upstream OK log
2026/03/04 10:09 21m retest repro upstream OK log
2026/03/04 10:09 19m retest repro upstream OK log
2026/03/04 10:09 28m retest repro upstream OK log
2026/03/04 10:09 18m retest repro upstream OK log
2026/03/04 05:02 25m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci error
2026/03/04 04:52 25m retest repro upstream OK log
2026/03/04 04:42 26m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci error

Sample crash report:
loop0: detected capacity change from 0 to 4096
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
syz.0.17/6717 is trying to acquire lock:
ffff0000f1c67680 (&ni->ni_lock#3/5){+.+.}-{4:4}, at: ni_lock fs/ntfs3/ntfs_fs.h:1113 [inline]
ffff0000f1c67680 (&ni->ni_lock#3/5){+.+.}-{4:4}, at: attr_data_get_block+0x1e0/0x1864 fs/ntfs3/attrib.c:918

but task is already holding lock:
ffff0000d9a4de50 (&mm->mmap_lock){++++}-{4:4}, at: mmap_write_lock_killable include/linux/mmap_lock.h:415 [inline]
ffff0000d9a4de50 (&mm->mmap_lock){++++}-{4:4}, at: vm_mmap_pgoff+0x1dc/0x45c mm/util.c:578

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&mm->mmap_lock){++++}-{4:4}:
       __might_fault+0xc4/0x124 mm/memory.c:6958
       _inline_copy_to_user include/linux/uaccess.h:192 [inline]
       copy_to_user include/linux/uaccess.h:223 [inline]
       fiemap_fill_next_extent+0x17c/0x3f0 fs/ioctl.c:145
       ni_fiemap+0x2e8/0x9ec fs/ntfs3/frecord.c:1896
       ntfs_fiemap+0x10c/0x188 fs/ntfs3/file.c:1326
       ioctl_fiemap fs/ioctl.c:220 [inline]
       do_vfs_ioctl+0x1140/0x1834 fs/ioctl.c:532
       __do_sys_ioctl fs/ioctl.c:596 [inline]
       __se_sys_ioctl fs/ioctl.c:584 [inline]
       __arm64_sys_ioctl+0xe4/0x1c4 fs/ioctl.c:584
       __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
       invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49
       el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
       do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
       el0_svc+0x5c/0x254 arch/arm64/kernel/entry-common.c:744
       el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:763
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596

-> #0 (&ni->ni_lock#3/5){+.+.}-{4:4}:
       check_prev_add kernel/locking/lockdep.c:3165 [inline]
       check_prevs_add kernel/locking/lockdep.c:3284 [inline]
       validate_chain kernel/locking/lockdep.c:3908 [inline]
       __lock_acquire+0x1774/0x30a4 kernel/locking/lockdep.c:5237
       lock_acquire+0x14c/0x2e0 kernel/locking/lockdep.c:5868
       __mutex_lock_common+0x1d0/0x2678 kernel/locking/mutex.c:598
       __mutex_lock kernel/locking/mutex.c:760 [inline]
       mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:812
       ni_lock fs/ntfs3/ntfs_fs.h:1113 [inline]
       attr_data_get_block+0x1e0/0x1864 fs/ntfs3/attrib.c:918
       ntfs_file_mmap_prepare+0x400/0x650 fs/ntfs3/file.c:318
       vfs_mmap_prepare include/linux/fs.h:2295 [inline]
       call_mmap_prepare mm/vma.c:2585 [inline]
       __mmap_region mm/vma.c:2653 [inline]
       mmap_region+0x934/0x1d20 mm/vma.c:2739
       do_mmap+0x968/0xfac mm/mmap.c:558
       vm_mmap_pgoff+0x2d8/0x45c mm/util.c:580
       ksys_mmap_pgoff+0x394/0x5b8 mm/mmap.c:604
       __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
       __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
       __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
       __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
       invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49
       el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
       do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
       el0_svc+0x5c/0x254 arch/arm64/kernel/entry-common.c:744
       el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:763
       el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&mm->mmap_lock);
                               lock(&ni->ni_lock#3/5);
                               lock(&mm->mmap_lock);
  lock(&ni->ni_lock#3/5);

 *** DEADLOCK ***

1 lock held by syz.0.17/6717:
 #0: ffff0000d9a4de50 (&mm->mmap_lock){++++}-{4:4}, at: mmap_write_lock_killable include/linux/mmap_lock.h:415 [inline]
 #0: ffff0000d9a4de50 (&mm->mmap_lock){++++}-{4:4}, at: vm_mmap_pgoff+0x1dc/0x45c mm/util.c:578

stack backtrace:
CPU: 1 UID: 0 PID: 6717 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025
Call trace:
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (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_circular_bug+0x324/0x32c kernel/locking/lockdep.c:2043
 check_noncircular+0x154/0x174 kernel/locking/lockdep.c:2175
 check_prev_add kernel/locking/lockdep.c:3165 [inline]
 check_prevs_add kernel/locking/lockdep.c:3284 [inline]
 validate_chain kernel/locking/lockdep.c:3908 [inline]
 __lock_acquire+0x1774/0x30a4 kernel/locking/lockdep.c:5237
 lock_acquire+0x14c/0x2e0 kernel/locking/lockdep.c:5868
 __mutex_lock_common+0x1d0/0x2678 kernel/locking/mutex.c:598
 __mutex_lock kernel/locking/mutex.c:760 [inline]
 mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:812
 ni_lock fs/ntfs3/ntfs_fs.h:1113 [inline]
 attr_data_get_block+0x1e0/0x1864 fs/ntfs3/attrib.c:918
 ntfs_file_mmap_prepare+0x400/0x650 fs/ntfs3/file.c:318
 vfs_mmap_prepare include/linux/fs.h:2295 [inline]
 call_mmap_prepare mm/vma.c:2585 [inline]
 __mmap_region mm/vma.c:2653 [inline]
 mmap_region+0x934/0x1d20 mm/vma.c:2739
 do_mmap+0x968/0xfac mm/mmap.c:558
 vm_mmap_pgoff+0x2d8/0x45c mm/util.c:580
 ksys_mmap_pgoff+0x394/0x5b8 mm/mmap.c:604
 __do_sys_mmap arch/arm64/kernel/sys.c:28 [inline]
 __se_sys_mmap arch/arm64/kernel/sys.c:21 [inline]
 __arm64_sys_mmap+0xf8/0x110 arch/arm64/kernel/sys.c:21
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x254 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
 el0_svc+0x5c/0x254 arch/arm64/kernel/entry-common.c:744
 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:763
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596

Crashes (3708):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/10/11 19:54 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci bf45a62baffc ff1712fe .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 possible deadlock in attr_data_get_block
2026/02/18 04:37 upstream c22e26bd0906 39751c21 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/17 18:29 upstream 970296997869 39751c21 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/17 16:33 upstream c22e26bd0906 06ec4f7b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/17 11:38 upstream c22e26bd0906 e439b951 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/17 08:21 upstream 970296997869 e439b951 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/17 04:37 upstream c22e26bd0906 e439b951 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/17 03:45 upstream c22e26bd0906 e439b951 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/17 01:46 upstream 57d76ceccee4 5d52cba5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/16 06:16 upstream c22e26bd0906 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/15 23:54 upstream c22e26bd0906 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/15 20:02 upstream c22e26bd0906 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/15 18:52 upstream bb7a3fc2c976 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/15 00:42 upstream ca4ee40bf13d 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/14 15:23 upstream c22e26bd0906 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/14 14:11 upstream c22e26bd0906 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/14 11:29 upstream 770aaedb461a 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/13 17:48 upstream cee73b1e840c 1e62d198 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/12 11:57 upstream c22e26bd0906 76a109e2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/11 03:25 upstream dc855b77719f 441e25b7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/10 22:47 upstream 72c395024dac 91d776d3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/10 14:43 upstream 72c395024dac 91d776d3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/10 14:42 upstream 72c395024dac 91d776d3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/10 09:21 upstream 8a5203c630c6 4ab09a02 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/10 02:55 upstream 8a5203c630c6 4ab09a02 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/10 00:35 upstream 05f7e89ab973 4ab09a02 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/09 03:28 upstream e98f34af6116 4c131dc4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/08 16:09 upstream e7aa57247700 4c131dc4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/07 20:38 upstream e7aa57247700 4c131dc4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/07 03:18 upstream 2687c848e578 f20fc9f9 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/06 16:04 upstream b7ff7151e653 97745f52 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/06 10:24 upstream 8fdb05de0e2d f03c4191 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/06 00:09 upstream 8fdb05de0e2d f03c4191 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/05 10:35 upstream f14faaf3a1fb 4936e85c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/05 08:28 upstream f14faaf3a1fb ea10c935 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/05 04:22 upstream f14faaf3a1fb ea10c935 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/05 02:47 upstream 5fd0a1df5d05 ea10c935 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/04 14:49 upstream 5fd0a1df5d05 ea10c935 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/04 13:15 upstream 5fd0a1df5d05 42b01fab .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/03 23:38 upstream de0674d9bc69 42b01fab .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/03 11:12 upstream 6bd9ed02871f 6df4c87a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/03 01:54 upstream dee65f79364c d78927dd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root possible deadlock in attr_data_get_block
2026/02/02 23:26 upstream dee65f79364c d78927dd .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/02 11:41 upstream 18f7fcd5e69a 018ebef2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/01 11:37 upstream 162b42445b58 6b8752f2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/02/01 02:35 upstream 162b42445b58 6b8752f2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/01/31 21:37 upstream ad9a728a3388 35764559 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in attr_data_get_block
2025/02/24 08:11 upstream d082ecbc71e9 d34966d1 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs possible deadlock in attr_data_get_block
2024/09/13 10:33 upstream fdf042df0463 73e8a465 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs possible deadlock in attr_data_get_block
2024/08/28 04:07 upstream 3ec3f5fc4a91 6c853ff9 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs possible deadlock in attr_data_get_block
2024/08/28 02:49 upstream 3ec3f5fc4a91 6c853ff9 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci2-upstream-fs possible deadlock in attr_data_get_block
2024/08/15 01:11 upstream 9d5906799f7d e6b88e20 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-upstream-fs possible deadlock in attr_data_get_block
2026/01/18 04:51 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in attr_data_get_block
2025/11/18 06:04 upstream e7c375b18160 ef766cd7 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro] ci-snapshot-upstream-root possible deadlock in attr_data_get_block
2026/01/02 13:59 linux-next cc3aa43b44bd d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in attr_data_get_block
2026/02/08 18:30 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 59e4d31a0470 4c131dc4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in attr_data_get_block
2026/02/05 01:45 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 59e4d31a0470 ea10c935 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in attr_data_get_block
2026/02/04 09:38 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 59e4d31a0470 42b01fab .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in attr_data_get_block
2026/02/02 10:38 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 59e4d31a0470 018ebef2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 possible deadlock in attr_data_get_block
* Struck through repros no longer work on HEAD.