syzbot


INFO: task hung in lock_two_directories (4)

Status: upstream: reported C repro on 2025/05/23 03:51
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+1bfacdf603474cfa86bd@syzkaller.appspotmail.com
First crash: 339d, last: 73d
Cause bisection: introduced by (bisect log) :
commit e63d86b8b76437815fc040e8e65da257c28ba922
Author: Roberto Sassu <roberto.sassu@huawei.com>
Date: Thu Nov 16 09:01:24 2023 +0000

  smack: Initialize the in-memory inode in smack_inode_init_security()

Crash: INFO: rcu detected stall in corrupted (log)
Repro: C syz .config
  
Fix bisection: fixed by (bisect log) :
commit 99f9a97dce39ad413c39b92c90393bbd6778f3fd
Author: Yuezhang Mo <Yuezhang.Mo@sony.com>
Date: Tue Mar 18 09:00:49 2025 +0000

  exfat: add cluster chain loop check for dir

  
Discussions (5)
Title Replies (including bot) Last reply
[syzbot] Monthly exfat report (Feb 2026) 0 (1) 2026/02/11 20:33
[syzbot] Monthly exfat report (Dec 2025) 0 (1) 2025/12/01 10:41
[syzbot] Monthly exfat report (Sep 2025) 0 (1) 2025/09/26 18:13
[syzbot] [ext4?] INFO: task hung in lock_two_directories (4) 0 (2) 2025/09/03 12:50
[syzbot] Monthly exfat report (Jul 2025) 0 (1) 2025/07/26 08:56
Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in lock_two_directories overlayfs ext4 1 7 1037d 1082d 0/29 auto-obsoleted due to no activity on 2023/09/18 16:57
upstream INFO: task hung in lock_two_directories (2) kernfs 1 10 584d 732d 0/29 auto-obsoleted due to no activity on 2024/12/15 06:45
upstream INFO: task hung in lock_two_directories (3) fs 1 1 484d 484d 0/29 auto-obsoleted due to no activity on 2025/03/25 10:32
Last patch testing requests (10)
Created Duration User Patch Repo Result
2026/04/20 18:25 45m retest repro upstream OK log
2026/02/09 14:30 16m retest repro upstream report log
2025/11/30 20:47 16m retest repro upstream report log
2025/10/09 19:57 22m retest repro upstream OK log
2025/10/09 19:57 22m retest repro upstream OK log
2025/09/21 05:24 16m retest repro upstream report log
2025/07/28 23:34 16m retest repro upstream report log
2025/07/28 23:34 16m retest repro upstream report log
2025/07/28 23:34 19m retest repro upstream report log
2025/06/02 05:33 27m retest repro upstream report log
Fix bisection attempts (2)
Created Duration User Patch Repo Result
2025/09/03 06:01 6h47m bisect fix upstream OK (1) job log
2025/07/02 12:01 1h37m bisect fix upstream OK (0) job log log

Sample crash report:
INFO: task syz.3.4257:25463 blocked for more than 143 seconds.
      Not tainted syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.3.4257      state:D stack:28904 pid:25463 tgid:25425 ppid:22019  task_flags:0x400040 flags:0x00080002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5325 [inline]
 __schedule+0x1798/0x4cc0 kernel/sched/core.c:6929
 __schedule_loop kernel/sched/core.c:7011 [inline]
 schedule+0x165/0x360 kernel/sched/core.c:7026
 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7083
 rwsem_down_write_slowpath+0x872/0xfe0 kernel/locking/rwsem.c:1185
 __down_write_common kernel/locking/rwsem.c:1317 [inline]
 __down_write kernel/locking/rwsem.c:1326 [inline]
 down_write_nested+0x1b5/0x200 kernel/locking/rwsem.c:1707
 inode_lock_nested include/linux/fs.h:1084 [inline]
 lock_two_directories+0x141/0x220 fs/namei.c:3400
 lock_rename fs/namei.c:3435 [inline]
 do_renameat2+0x36f/0xa50 fs/namei.c:5381
 __do_sys_rename fs/namei.c:5481 [inline]
 __se_sys_rename fs/namei.c:5479 [inline]
 __x64_sys_rename+0x82/0x90 fs/namei.c:5479
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fdd8618f749
RSP: 002b:00007fdd87037038 EFLAGS: 00000246 ORIG_RAX: 0000000000000052
RAX: ffffffffffffffda RBX: 00007fdd863e6090 RCX: 00007fdd8618f749
RDX: 0000000000000000 RSI: 00002000000002c0 RDI: 0000200000000300
RBP: 00007fdd86213f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fdd863e6128 R14: 00007fdd863e6090 R15: 00007ffc387b1c48
 </TASK>

Showing all locks held in the system:
1 lock held by ksoftirqd/1/23:
 #0: ffff8880b883a018 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0xad/0x140 kernel/sched/core.c:646
1 lock held by khungtaskd/31:
 #0: ffffffff8df3d0a0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
 #0: ffffffff8df3d0a0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:867 [inline]
 #0: ffffffff8df3d0a0 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x2e/0x180 kernel/locking/lockdep.c:6775
2 locks held by getty/5582:
 #0: ffff88814d4d20a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x25/0x70 drivers/tty/tty_ldisc.c:243
 #1: ffffc900036c32f0 (&ldata->atomic_read_lock){+.+.}-{4:4}, at: n_tty_read+0x43e/0x1400 drivers/tty/n_tty.c:2222
2 locks held by kworker/u8:24/13957:
 #0: ffff888144286948 ((wq_completion)iou_exit){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3238 [inline]
 #0: ffff888144286948 ((wq_completion)iou_exit){+.+.}-{0:0}, at: process_scheduled_works+0x9b4/0x17b0 kernel/workqueue.c:3346
 #1: ffffc9000499fba0 ((work_completion)(&ctx->exit_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3239 [inline]
 #1: ffffc9000499fba0 ((work_completion)(&ctx->exit_work)){+.+.}-{0:0}, at: process_scheduled_works+0x9ef/0x17b0 kernel/workqueue.c:3346
2 locks held by kworker/u8:25/13958:
 #0: ffff8880b883a018 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0xad/0x140 kernel/sched/core.c:646
 #1: ffff8880b8924008 (psi_seq){-.-.}-{0:0}, at: psi_task_switch+0x53/0x880 kernel/sched/psi.c:933
4 locks held by kworker/u8:14/25399:
 #0: ffff88801e683948 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3238 [inline]
 #0: ffff88801e683948 ((wq_completion)writeback){+.+.}-{0:0}, at: process_scheduled_works+0x9b4/0x17b0 kernel/workqueue.c:3346
 #1: ffffc90004497ba0 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3239 [inline]
 #1: ffffc90004497ba0 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9ef/0x17b0 kernel/workqueue.c:3346
 #2: ffff88804e2780e0 (&type->s_umount_key#109){++++}-{4:4}, at: super_trylock_shared+0x20/0xf0 fs/super.c:563
 #3: ffff888081128af0 (&jfs_ip->commit_mutex){+.+.}-{4:4}, at: jfs_commit_inode+0x1ca/0x530 fs/jfs/inode.c:108
4 locks held by syz.3.4257/25427:
3 locks held by syz.3.4257/25463:
 #0: ffff88804e278420 (sb_writers#28){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 fs/namespace.c:499
 #1: ffff88804e278730 (&type->s_vfs_rename_key#2){+.+.}-{4:4}, at: lock_rename fs/namei.c:3434 [inline]
 #1: ffff88804e278730 (&type->s_vfs_rename_key#2){+.+.}-{4:4}, at: do_renameat2+0x364/0xa50 fs/namei.c:5381
 #2: ffff888081128ea0 (&type->i_mutex_dir_key#20/1){+.+.}-{4:4}, at: inode_lock_nested include/linux/fs.h:1084 [inline]
 #2: ffff888081128ea0 (&type->i_mutex_dir_key#20/1){+.+.}-{4:4}, at: lock_two_directories+0x141/0x220 fs/namei.c:3400

=============================================

NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 31 Comm: khungtaskd Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
 nmi_cpu_backtrace+0x39e/0x3d0 lib/nmi_backtrace.c:113
 nmi_trigger_cpumask_backtrace+0x17a/0x300 lib/nmi_backtrace.c:62
 trigger_all_cpu_backtrace include/linux/nmi.h:160 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:332 [inline]
 watchdog+0xf60/0xfa0 kernel/hung_task.c:495
 kthread+0x711/0x8a0 kernel/kthread.c:463
 ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 UID: 0 PID: 25427 Comm: syz.3.4257 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:srso_alias_safe_ret+0x0/0x7 arch/x86/lib/retpoline.S:210
Code: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc <48> 8d 64 24 08 c3 cc e8 f4 ff ff ff 0f 0b cc cc cc cc cc cc cc cc
RSP: 0018:ffffc900047b7298 EFLAGS: 00000297
RAX: ffffffff8346e7a5 RBX: 0000000000000004 RCX: 0000000000000002
RDX: ffff8880257c8000 RSI: 0000000000000000 RDI: 00000000000000ff
RBP: 0000000000000000 R08: ffff88807a19f11f R09: 1ffff1100f433e23
R10: dffffc0000000000 R11: ffffed100f433e24 R12: dffffc0000000000
R13: ffff88807a19f000 R14: 0000000000000000 R15: 1ffff1100f433e02
FS:  00007fdd8705f6c0(0000) GS:ffff88812622d000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffadf1b42f8 CR3: 00000000766ee000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 srso_alias_return_thunk+0x5/0xfbef5 arch/x86/lib/retpoline.S:220
 dtSplitRoot+0x775/0x16c0 fs/jfs/jfs_dtree.c:1979
 dtSplitUp fs/jfs/jfs_dtree.c:993 [inline]
 dtInsert+0xef8/0x5f40 fs/jfs/jfs_dtree.c:871
 jfs_create+0x6c8/0xa80 fs/jfs/namei.c:137
 lookup_open fs/namei.c:3866 [inline]
 open_last_lookups fs/namei.c:3965 [inline]
 path_openat+0x188f/0x3b80 fs/namei.c:4201
 do_filp_open+0x1fa/0x410 fs/namei.c:4231
 do_sys_openat2+0x121/0x1c0 fs/open.c:1437
 do_sys_open fs/open.c:1452 [inline]
 __do_sys_creat fs/open.c:1530 [inline]
 __se_sys_creat fs/open.c:1524 [inline]
 __x64_sys_creat+0x8f/0xc0 fs/open.c:1524
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fdd8618f749
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:00007fdd8705f038 EFLAGS: 00000246 ORIG_RAX: 0000000000000055
RAX: ffffffffffffffda RBX: 00007fdd863e5fa0 RCX: 00007fdd8618f749
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000580
RBP: 00007fdd86213f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fdd863e6038 R14: 00007fdd863e5fa0 R15: 00007ffc387b1c48
 </TASK>

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/02 11:01 upstream 1d18101a644e d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root INFO: task hung in lock_two_directories
2025/07/13 11:06 upstream 3f31a806a62e 3cda49cf .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-upstream-fs INFO: task hung in lock_two_directories
2025/07/11 07:47 upstream bc9ff192a6c9 3cda49cf .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-upstream-fs INFO: task hung in lock_two_directories
2025/07/10 22:05 upstream bc9ff192a6c9 3cda49cf .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-upstream-fs INFO: task hung in lock_two_directories
2025/07/10 00:39 upstream 8c2e52ebbe88 f4e5e155 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs INFO: task hung in lock_two_directories
2025/05/19 03:40 upstream a5806cd506af f41472b0 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci2-upstream-fs INFO: task hung in lock_two_directories
* Struck through repros no longer work on HEAD.