possible deadlock in __d_alloc_parallel

Status: upstream: reported on 2026/10/02 17:04
Subsystems: overlayfs
Labels: prio:high
[Documentation on labels]
Reported-by: syzbot+52aa59fd5e3cd8a19dd7@syzkaller.appspotmail.com
First crash: 11d, last: 1h14m
▶ ▼ ✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
d269f1a8 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ❌ VMHostTrigger: ❌ ❓ possible deadlock in __d_alloc_parallel 2026/09/30 05:49 2026/09/30 05:49 2026/09/30 06:36 7808aef4
▶ ▼ Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [overlayfs?] possible deadlock in __d_alloc_parallel 0 (1) 2026/10/02 17:04

Sample crash report:
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Tainted: G             L     Y
------------------------------------------------------
iou-wrk-10690/10696 is trying to acquire lock:
ffff888067bf3960 (DCACHE_PAR_LOOKUP){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
ffff888067bf3960 (DCACHE_PAR_LOOKUP){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
ffff888067bf3960 (DCACHE_PAR_LOOKUP){+.+.}-{0:0}, at: __d_alloc_parallel+0x39e/0x1700 fs/dcache.c:2883

but task is already holding lock:
ffff888072282718 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: inode_lock_shared include/linux/fs.h:1039 [inline]
ffff888072282718 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: lookup_slow+0x46/0x80 fs/namei.c:1935

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&type->i_mutex_dir_key#5){++++}-{4:4}:
       down_read+0x45/0x320 kernel/locking/rwsem.c:1574
       inode_lock_shared include/linux/fs.h:1039 [inline]
       lookup_slow+0x46/0x80 fs/namei.c:1935
       ovl_lookup_positive_unlocked fs/overlayfs/namei.c:216 [inline]
       ovl_lookup_single+0x323/0xe90 fs/overlayfs/namei.c:260
       ovl_lookup_layer+0x377/0x440 fs/overlayfs/namei.c:365
       ovl_lookup_layers fs/overlayfs/namei.c:1109 [inline]
       ovl_lookup+0x5e5/0x1c80 fs/overlayfs/namei.c:1403
       __lookup_slow+0x1fb/0x2f0 fs/namei.c:1919
       lookup_slow+0x59/0x80 fs/namei.c:1936
       walk_component fs/namei.c:2311 [inline]
       lookup_last fs/namei.c:2818 [inline]
       path_lookupat+0x3f5/0x8c0 fs/namei.c:2842
       filename_lookup+0x265/0x5d0 fs/namei.c:2871
       filename_listxattr fs/xattr.c:971 [inline]
       path_listxattrat+0x13b/0x3f0 fs/xattr.c:1001
       do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
       do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
       entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> #0 (DCACHE_PAR_LOOKUP){+.+.}-{0:0}:
       check_prev_add kernel/locking/lockdep.c:3209 [inline]
       check_prevs_add kernel/locking/lockdep.c:3328 [inline]
       validate_chain kernel/locking/lockdep.c:3952 [inline]
       __lock_acquire+0x164c/0x2de0 kernel/locking/lockdep.c:5288
       lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5942
       d_wait_lookup fs/dcache.c:2840 [inline]
       __d_alloc_parallel+0xc32/0x1700 fs/dcache.c:2944
       __lookup_slow+0x82/0x2f0 fs/namei.c:1904
       lookup_slow+0x59/0x80 fs/namei.c:1936
       walk_component fs/namei.c:2311 [inline]
       lookup_last fs/namei.c:2818 [inline]
       path_lookupat+0x3f5/0x8c0 fs/namei.c:2842
       filename_lookup+0x265/0x5d0 fs/namei.c:2871
       vfs_statx+0xfc/0x200 fs/stat.c:357
       do_statx+0x138/0x1e0 fs/stat.c:765
       io_statx+0xc5/0x1b0 io_uring/statx.c:58
       __io_issue_sqe+0x180/0x450 io_uring/io_uring.c:1427
       io_issue_sqe+0x164/0x1120 io_uring/io_uring.c:1450
       io_wq_submit_work+0x867/0xda0 io_uring/io_uring.c:1573
       io_worker_handle_work+0x77a/0x1160 io_uring/io-wq.c:663
       io_wq_worker+0x485/0xfd0 io_uring/io-wq.c:718
       ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  rlock(&type->i_mutex_dir_key#5);
                               lock(DCACHE_PAR_LOOKUP);
                               lock(&type->i_mutex_dir_key#5);
  lock(DCACHE_PAR_LOOKUP);

 *** DEADLOCK ***

locks held by iou-wrk-10690/10696: 1, last CPU#1:
 #0: ffff888072282718 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: inode_lock_shared include/linux/fs.h:1039 [inline]
 #0: ffff888072282718 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: lookup_slow+0x46/0x80 fs/namei.c:1935

stack backtrace:
CPU: 1 UID: 0 PID: 10696 Comm: iou-wrk-10690 Tainted: G             L     Y syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP, [Y]=FORCED_BIND
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
 print_circular_bug+0x2e2/0x300 kernel/locking/lockdep.c:2087
 check_noncircular+0x12f/0x150 kernel/locking/lockdep.c:2219
 check_prev_add kernel/locking/lockdep.c:3209 [inline]
 check_prevs_add kernel/locking/lockdep.c:3328 [inline]
 validate_chain kernel/locking/lockdep.c:3952 [inline]
 __lock_acquire+0x164c/0x2de0 kernel/locking/lockdep.c:5288
 lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5942
 d_wait_lookup fs/dcache.c:2840 [inline]
 __d_alloc_parallel+0xc32/0x1700 fs/dcache.c:2944
 __lookup_slow+0x82/0x2f0 fs/namei.c:1904
 lookup_slow+0x59/0x80 fs/namei.c:1936
 walk_component fs/namei.c:2311 [inline]
 lookup_last fs/namei.c:2818 [inline]
 path_lookupat+0x3f5/0x8c0 fs/namei.c:2842
 filename_lookup+0x265/0x5d0 fs/namei.c:2871
 vfs_statx+0xfc/0x200 fs/stat.c:357
 do_statx+0x138/0x1e0 fs/stat.c:765
 io_statx+0xc5/0x1b0 io_uring/statx.c:58
 __io_issue_sqe+0x180/0x450 io_uring/io_uring.c:1427
 io_issue_sqe+0x164/0x1120 io_uring/io_uring.c:1450
 io_wq_submit_work+0x867/0xda0 io_uring/io_uring.c:1573
 io_worker_handle_work+0x77a/0x1160 io_uring/io-wq.c:663
 io_wq_worker+0x485/0xfd0 io_uring/io-wq.c:718
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>

Crashes (182):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/10 06:58 linux-next becb95e45ef0 4f92358f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/09 05:46 linux-next aac26bee2287 b2734a59 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/09 03:41 linux-next b01868671970 b2734a59 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 23:15 linux-next b01868671970 b2734a59 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 20:56 linux-next b01868671970 4f6a9fcf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 19:34 linux-next b01868671970 4f6a9fcf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 18:26 linux-next b01868671970 4f6a9fcf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 16:00 linux-next b01868671970 4f6a9fcf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/08 14:56 linux-next b01868671970 4f6a9fcf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 11:53 linux-next b01868671970 4f6a9fcf .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 08:09 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 06:32 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/08 05:24 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 03:47 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/08 01:38 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/07 21:35 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/07 20:13 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/07 17:07 linux-next b01868671970 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/07 14:21 linux-next eea3fef32a9c 6520ecdb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/07 12:31 linux-next eea3fef32a9c f7710056 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/07 10:25 linux-next eea3fef32a9c f7710056 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/07 08:31 linux-next eea3fef32a9c f7710056 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/06 23:30 linux-next eea3fef32a9c f7710056 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/06 16:27 linux-next eea3fef32a9c f7710056 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/06 08:15 linux-next bf1ee2bd5c2d f7710056 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/06 03:30 linux-next bf1ee2bd5c2d f7710056 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/06 00:48 linux-next bf1ee2bd5c2d 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/06 00:46 linux-next bf1ee2bd5c2d 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 23:31 linux-next bf1ee2bd5c2d 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/05 21:28 linux-next bf1ee2bd5c2d 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/05 19:43 linux-next bf1ee2bd5c2d 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 18:38 linux-next bf1ee2bd5c2d 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/05 16:08 linux-next bf1ee2bd5c2d 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 13:28 linux-next f0406245cb98 1995e6c7 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 11:27 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 10:16 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 08:58 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 03:28 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/05 03:13 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/04 20:10 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/04 17:37 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/04 13:40 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/04 12:26 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/10/02 16:24 linux-next 9f24d789f03b 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/09/30 05:36 linux-next 6474fa070f2b 7808aef4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
2026/09/28 16:55 linux-next 6375e61c01e9 a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in __d_alloc_parallel
* Struck through repros no longer work on HEAD.