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: 6d22h, last: 2h03m
▶ ▼ ✨ 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
------------------------------------------------------
udevd/13862 is trying to acquire lock:
ffff888029ce6920 (DCACHE_PAR_LOOKUP){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
ffff888029ce6920 (DCACHE_PAR_LOOKUP){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
ffff888029ce6920 (DCACHE_PAR_LOOKUP){+.+.}-{0:0}, at: __d_alloc_parallel+0x39e/0x1700 fs/dcache.c:2881

but task is already holding lock:
ffff8880310e7c68 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: inode_lock_shared include/linux/fs.h:1039 [inline]
ffff8880310e7c68 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: lookup_open+0x221/0x1970 fs/namei.c:4460

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:2282 [inline]
       lookup_last fs/namei.c:2789 [inline]
       path_lookupat+0x3f5/0x8c0 fs/namei.c:2813
       filename_lookup+0x265/0x5d0 fs/namei.c:2842
       filename_setxattr+0xc2/0x630 fs/xattr.c:685
       path_setxattrat+0x408/0x450 fs/xattr.c:734
       __do_sys_setxattr fs/xattr.c:768 [inline]
       __se_sys_setxattr fs/xattr.c:764 [inline]
       __x64_sys_setxattr+0xbc/0xe0 fs/xattr.c:764
       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:2838 [inline]
       __d_alloc_parallel+0xc32/0x1700 fs/dcache.c:2942
       lookup_open+0x2c2/0x1970 fs/namei.c:4473
       open_last_lookups fs/namei.c:4769 [inline]
       path_openat+0x673/0x1da0 fs/namei.c:5008
       do_file_open+0x23e/0x4a0 fs/namei.c:5040
       do_sys_openat2+0x115/0x200 fs/open.c:1442
       do_sys_open fs/open.c:1448 [inline]
       __do_sys_openat fs/open.c:1464 [inline]
       __se_sys_openat fs/open.c:1459 [inline]
       __x64_sys_openat+0x138/0x170 fs/open.c:1459
       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

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 udevd/13862: 1, last CPU#1:
 #0: ffff8880310e7c68 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: inode_lock_shared include/linux/fs.h:1039 [inline]
 #0: ffff8880310e7c68 (&type->i_mutex_dir_key#5){++++}-{4:4}, at: lookup_open+0x221/0x1970 fs/namei.c:4460

stack backtrace:
CPU: 1 UID: 0 PID: 13862 Comm: udevd 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:2838 [inline]
 __d_alloc_parallel+0xc32/0x1700 fs/dcache.c:2942
 lookup_open+0x2c2/0x1970 fs/namei.c:4473
 open_last_lookups fs/namei.c:4769 [inline]
 path_openat+0x673/0x1da0 fs/namei.c:5008
 do_file_open+0x23e/0x4a0 fs/namei.c:5040
 do_sys_openat2+0x115/0x200 fs/open.c:1442
 do_sys_open fs/open.c:1448 [inline]
 __do_sys_openat fs/open.c:1464 [inline]
 __se_sys_openat fs/open.c:1459 [inline]
 __x64_sys_openat+0x138/0x170 fs/open.c:1459
 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
RIP: 0033:0x7f4faa8a7407
Code: 48 89 fa 4c 89 df e8 38 aa 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
RSP: 002b:00007ffc62d16610 EFLAGS: 00000202 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00007f4faafb9880 RCX: 00007f4faa8a7407
RDX: 0000000000080000 RSI: 00007ffc62d16780 RDI: ffffffffffffff9c
RBP: 0000000000000008 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 000055aa4a27c7f5
R13: 000055aa4a27c7f5 R14: 0000000000000001 R15: 000055aa4a297140
 </TASK>

Crashes (108):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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/04 07:12 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 05:55 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/04 03:48 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/04 01:52 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/03 23:15 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/03 20:01 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/03 18:53 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/03 18:38 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/03 15:47 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/03 14:21 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/03 12:21 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/03 11:17 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/03 03:20 linux-next f0406245cb98 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/02 22:02 linux-next 6474fa070f2b 57bbd979 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce 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/10/02 14:20 linux-next 9f24d789f03b 6d32eb1f .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 12:33 linux-next 6474fa070f2b 6d32eb1f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/02 08:20 linux-next 6474fa070f2b 6d32eb1f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/02 05:19 linux-next 6474fa070f2b 6d32eb1f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/02 00:07 linux-next 9f24d789f03b 6d32eb1f .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/01 20:45 linux-next 9f24d789f03b 38f7f0d1 .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/01 20:45 linux-next 9f24d789f03b 38f7f0d1 .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/01 13:26 linux-next 6474fa070f2b 38f7f0d1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/01 10:57 linux-next 6474fa070f2b 38f7f0d1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/01 08:12 linux-next 6474fa070f2b 38f7f0d1 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/10/01 05:14 linux-next 6c2cb8b8b843 38f7f0d1 .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/01 03:01 linux-next 6474fa070f2b 892a21ec .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/09/30 21:10 linux-next 6c2cb8b8b843 892a21ec .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 20:09 linux-next 6474fa070f2b 892a21ec .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/09/30 16:07 linux-next 6c2cb8b8b843 892a21ec .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 12:43 linux-next 6474fa070f2b 892a21ec .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 10:01 linux-next 6474fa070f2b 7808aef4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/09/30 09:14 linux-next 6474fa070f2b 7808aef4 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in __d_alloc_parallel
2026/09/30 09:06 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/30 08:48 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/30 08:46 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/30 07:46 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/30 07:39 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/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.