possible deadlock in xfs_icwalk_ag (3)

Status: upstream: reported C repro on 2025/08/11 15:30
Subsystems: xfs
Labels: prio:high
[Documentation on labels]
Reported-by: syzbot+789028412a4af61a2b61@syzkaller.appspotmail.com
First crash: 434d, last: 13d
▶ ▼ ✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
70b9a4a7 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ❌ VMHostTrigger: ❌ ❓ possible deadlock in xfs_icwalk_ag (3) 2026/05/31 21:58 2026/05/31 21:58 2026/05/31 23:05 6b4a8443
78122c9a assessment-security 💥 possible deadlock in xfs_icwalk_ag (3) 2026/05/15 07:10 2026/05/15 07:10 2026/05/15 07:11 6ccb967e
▶ ▼ Discussions (5)
Title Replies (including bot) Last reply
[syzbot] Monthly xfs report (Sep 2026) 0 (1) 2026/09/18 12:33
[syzbot] Monthly xfs report (Apr 2026) 0 (1) 2026/04/08 06:44
[syzbot] Monthly xfs report (Jan 2026) 0 (1) 2026/01/30 10:09
[syzbot] Monthly xfs report (Dec 2025) 0 (1) 2025/12/30 09:53
[syzbot] [xfs?] possible deadlock in xfs_icwalk_ag (3) 2 (5) 2025/12/02 07:40
▶ ▼ Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.6 possible deadlock in xfs_icwalk_ag 4 3 31d 66d 0/2 upstream: reported on 2026/08/09 21:20
upstream possible deadlock in xfs_icwalk_ag xfs 4 14 919d 936d 0/29 closed as dup on 2024/03/23 08:37
upstream possible deadlock in xfs_icwalk_ag (2) xfs 4 syz, C 1066 567d 912d 28/29 fixed on 2025/05/06 15:33
▶ ▼ Last patch testing requests (10)
Created Duration User Patch Repo Result
2026/09/25 03:23 20m retest repro upstream no crash job log log
2026/09/25 03:23 14m retest repro upstream error job log
2026/09/25 03:23 14m retest repro upstream error job log
2026/09/25 03:23 23m retest repro upstream no crash job log log
2026/09/25 03:23 15m retest repro upstream error job log
2026/06/26 02:31 25m retest repro upstream report log
2026/06/26 02:31 30m retest repro upstream log
2026/06/26 02:31 30m retest repro upstream report log
2026/06/26 02:31 25m retest repro upstream log
2026/06/26 00:00 34m retest repro upstream no crash log

Sample crash report:
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
kswapd1/80 is trying to acquire lock:
ffff888044b64118 (&xfs_nondir_ilock_class){++++}-{4:4}, at: xfs_reclaim_inode fs/xfs/xfs_icache.c:1035 [inline]
ffff888044b64118 (&xfs_nondir_ilock_class){++++}-{4:4}, at: xfs_icwalk_process_inode fs/xfs/xfs_icache.c:1727 [inline]
ffff888044b64118 (&xfs_nondir_ilock_class){++++}-{4:4}, at: xfs_icwalk_ag+0x1229/0x1a90 fs/xfs/xfs_icache.c:1809

but task is already holding lock:
ffffffff8e0518a0 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:6975 [inline]
ffffffff8e0518a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x92a/0x2820 mm/vmscan.c:7354

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (fs_reclaim){+.+.}-{0:0}:
       __fs_reclaim_acquire mm/page_alloc.c:4301 [inline]
       fs_reclaim_acquire+0x72/0x100 mm/page_alloc.c:4315
       might_alloc include/linux/sched/mm.h:317 [inline]
       slab_pre_alloc_hook mm/slub.c:4904 [inline]
       slab_alloc_node mm/slub.c:5239 [inline]
       __kmalloc_cache_noprof+0x40/0x700 mm/slub.c:5771
       kmalloc_noprof include/linux/slab.h:957 [inline]
       iomap_fill_dirty_folios+0xf4/0x260 fs/iomap/buffered-io.c:1557
       xfs_buffered_write_iomap_begin+0xa23/0x1a70 fs/xfs/xfs_iomap.c:1857
       iomap_iter+0x5ef/0xeb0 fs/iomap/iter.c:110
       iomap_zero_range+0x1cc/0xa30 fs/iomap/buffered-io.c:1590
       xfs_zero_range+0x9a/0x100 fs/xfs/xfs_iomap.c:2289
       xfs_file_write_zero_eof fs/xfs/xfs_file.c:415 [inline]
       xfs_file_write_checks+0x63f/0x9f0 fs/xfs/xfs_file.c:482
       xfs_file_buffered_write+0x19e/0x8a0 fs/xfs/xfs_file.c:972
       new_sync_write fs/read_write.c:593 [inline]
       vfs_write+0x5c9/0xb30 fs/read_write.c:686
       ksys_write+0x145/0x250 fs/read_write.c:738
       do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
       do_syscall_64+0xec/0xf80 arch/x86/entry/syscall_64.c:94
       entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> #0 (&xfs_nondir_ilock_class){++++}-{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+0x15a6/0x2cf0 kernel/locking/lockdep.c:5237
       lock_acquire+0x107/0x340 kernel/locking/lockdep.c:5868
       down_write_nested+0x9d/0x200 kernel/locking/rwsem.c:1706
       xfs_reclaim_inode fs/xfs/xfs_icache.c:1035 [inline]
       xfs_icwalk_process_inode fs/xfs/xfs_icache.c:1727 [inline]
       xfs_icwalk_ag+0x1229/0x1a90 fs/xfs/xfs_icache.c:1809
       xfs_icwalk fs/xfs/xfs_icache.c:1857 [inline]
       xfs_reclaim_inodes_nr+0x1e3/0x260 fs/xfs/xfs_icache.c:1101
       super_cache_scan+0x41b/0x4b0 fs/super.c:228
       do_shrink_slab+0x6df/0x10d0 mm/shrinker.c:437
       shrink_slab_memcg mm/shrinker.c:550 [inline]
       shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628
       shrink_one+0x2d9/0x720 mm/vmscan.c:4921
       shrink_many mm/vmscan.c:4982 [inline]
       lru_gen_shrink_node mm/vmscan.c:5060 [inline]
       shrink_node+0x2f7d/0x35b0 mm/vmscan.c:6047
       kswapd_shrink_node mm/vmscan.c:6901 [inline]
       balance_pgdat mm/vmscan.c:7084 [inline]
       kswapd+0x145a/0x2820 mm/vmscan.c:7354
       kthread+0x711/0x8a0 kernel/kthread.c:463
       ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(fs_reclaim);
                               lock(&xfs_nondir_ilock_class);
                               lock(fs_reclaim);
  lock(&xfs_nondir_ilock_class);

 *** DEADLOCK ***

2 locks held by kswapd1/80:
 #0: ffffffff8e0518a0 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:6975 [inline]
 #0: ffffffff8e0518a0 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x92a/0x2820 mm/vmscan.c:7354
 #1: ffff888057d240e0 (&type->s_umount_key#56){++++}-{4:4}, at: super_trylock_shared fs/super.c:563 [inline]
 #1: ffff888057d240e0 (&type->s_umount_key#56){++++}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197

stack backtrace:
CPU: 0 UID: 0 PID: 80 Comm: kswapd1 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Call Trace:
 <TASK>
 dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
 print_circular_bug+0x2e2/0x300 kernel/locking/lockdep.c:2043
 check_noncircular+0x12e/0x150 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+0x15a6/0x2cf0 kernel/locking/lockdep.c:5237
 lock_acquire+0x107/0x340 kernel/locking/lockdep.c:5868
 down_write_nested+0x9d/0x200 kernel/locking/rwsem.c:1706
 xfs_reclaim_inode fs/xfs/xfs_icache.c:1035 [inline]
 xfs_icwalk_process_inode fs/xfs/xfs_icache.c:1727 [inline]
 xfs_icwalk_ag+0x1229/0x1a90 fs/xfs/xfs_icache.c:1809
 xfs_icwalk fs/xfs/xfs_icache.c:1857 [inline]
 xfs_reclaim_inodes_nr+0x1e3/0x260 fs/xfs/xfs_icache.c:1101
 super_cache_scan+0x41b/0x4b0 fs/super.c:228
 do_shrink_slab+0x6df/0x10d0 mm/shrinker.c:437
 shrink_slab_memcg mm/shrinker.c:550 [inline]
 shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628
 shrink_one+0x2d9/0x720 mm/vmscan.c:4921
 shrink_many mm/vmscan.c:4982 [inline]
 lru_gen_shrink_node mm/vmscan.c:5060 [inline]
 shrink_node+0x2f7d/0x35b0 mm/vmscan.c:6047
 kswapd_shrink_node mm/vmscan.c:6901 [inline]
 balance_pgdat mm/vmscan.c:7084 [inline]
 kswapd+0x145a/0x2820 mm/vmscan.c:7354
 kthread+0x711/0x8a0 kernel/kthread.c:463
 ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
 </TASK>

Crashes (909):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/28 13:51 upstream d26143bb38e2 d1b870e1 .config console log report syz / log [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro #1 (corrupt fs)] [mounted in repro #2 (clean fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/12/02 10:08 upstream 1d18101a644e d1b870e1 .config console log report syz / log [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/12/02 02:05 upstream 1d18101a644e d1b870e1 .config console log report syz / log [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/10/02 11:50 upstream ce1e0223d8ad 1065c8fa .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/11 02:11 upstream 50d05c7c76c9 1fe56c0a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/11 02:11 upstream 50d05c7c76c9 1fe56c0a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/07 03:46 upstream 1fc5a74b108f 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/06 21:52 upstream 1fc5a74b108f 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/06 20:51 upstream 1fc5a74b108f 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/06 13:35 upstream 9f0346dcbea3 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/06 05:23 upstream 9f0346dcbea3 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/06 04:11 upstream 9f0346dcbea3 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/05 23:43 upstream 4d7d9486c04d 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/05 17:03 upstream 4d7d9486c04d 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/05 08:11 upstream 654ae5d73c05 4f7b22a0 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/04 15:19 upstream bc35965f6940 44dda43b .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/04 07:33 upstream 8ab1afb2eb24 801f0966 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/04 07:33 upstream 8ab1afb2eb24 801f0966 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/03 16:09 upstream 940de590b839 a8a356ea .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/03 07:24 upstream 940de590b839 6a988719 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/02 21:34 upstream 89a312991dc6 74e93e68 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/02 01:46 upstream 89a312991dc6 587f6b29 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/09/01 17:02 upstream bf1079577a11 587f6b29 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/31 18:39 upstream cee9395acd80 00e9c810 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/31 06:21 upstream a23cbb05744b 2f52988a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/31 03:29 upstream a23cbb05744b 2f52988a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/30 21:51 upstream a23cbb05744b 2f52988a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/29 18:33 upstream cf72cbb39da8 2f52988a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/29 16:37 upstream cf72cbb39da8 2f52988a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/29 16:37 upstream cf72cbb39da8 2f52988a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/26 14:06 upstream 818bebeb63dd a2b77b9e .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/08/02 22:37 upstream bd1dde877520 e611ffe1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/07/21 03:52 upstream 1590cf032971 de6a700d .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/04/02 21:42 upstream 5619b098e2fb 8b15d4ae .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/03/06 06:53 upstream 5ee8dbf54602 31e9c887 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/02/16 19:02 upstream 0f2acd3148e0 5d52cba5 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/20 07:16 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/20 03:54 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/20 01:14 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/19 23:20 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/19 22:14 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/19 21:12 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/19 19:55 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/19 18:39 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/19 16:05 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2026/01/19 15:05 upstream 54e82e93ca93 d1b870e1 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/12/04 14:50 upstream cc25df3e2e22 d1b870e1 .config console log report syz / log [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/12/02 07:48 upstream 1d18101a644e d1b870e1 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/12/02 05:48 upstream 1d18101a644e d1b870e1 .config console log report syz / log [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/12/02 03:37 upstream 1d18101a644e d1b870e1 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/12/02 03:34 upstream 1d18101a644e d1b870e1 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
2025/08/07 15:23 upstream 6e64f4580381 04cffc22 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in xfs_icwalk_ag
* Struck through repros no longer work on HEAD.