syzbot


KCSAN: data-race in __dentry_kill / shrink_dentry_list (6)

Status: moderation: reported on 2025/06/10 16:12
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+d39ed99eedc0465ab3fa@syzkaller.appspotmail.com
First crash: 24d, last: 10d
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __dentry_kill / shrink_dentry_list fs 1 1781d 1781d 0/29 auto-closed as invalid on 2020/09/22 04:21
upstream KCSAN: data-race in __dentry_kill / shrink_dentry_list (3) fs 10 413d 527d 0/29 auto-obsoleted due to no activity on 2024/06/21 18:39
upstream KCSAN: data-race in __dentry_kill / shrink_dentry_list (2) fs 1 1510d 1510d 0/29 auto-closed as invalid on 2021/06/20 12:41
upstream KCSAN: data-race in __dentry_kill / shrink_dentry_list (4) fs 1 310d 310d 0/29 auto-obsoleted due to no activity on 2024/10/02 04:40
upstream KCSAN: data-race in __dentry_kill / shrink_dentry_list (5) fs 6 134d 229d 0/29 auto-obsoleted due to no activity on 2025/04/17 00:46

Sample crash report:
__nla_validate_parse: 17 callbacks suppressed
netlink: 14 bytes leftover after parsing attributes in process `syz.1.1889'.
==================================================================
BUG: KCSAN: data-race in __dentry_kill / shrink_dentry_list

read-write to 0xffff888106a8cc00 of 4 bytes by task 3305 on cpu 1:
 d_shrink_del fs/dcache.c:515 [inline]
 shrink_dentry_list+0x1a6/0x3d0 fs/dcache.c:1140
 shrink_dcache_parent+0x42/0x1b0 fs/dcache.c:-1
 d_invalidate+0xa6/0x1c0 fs/dcache.c:1658
 proc_invalidate_siblings_dcache+0x1c0/0x2a0 fs/proc/inode.c:142
 proc_flush_pid+0x1d/0x30 fs/proc/base.c:3484
 release_task+0x992/0xb60 kernel/exit.c:292
 wait_task_zombie kernel/exit.c:1267 [inline]
 wait_consider_task+0x113f/0x1650 kernel/exit.c:1494
 do_wait_thread kernel/exit.c:1557 [inline]
 __do_wait+0xfa/0x510 kernel/exit.c:1675
 do_wait+0xb7/0x260 kernel/exit.c:1709
 kernel_wait4+0x16b/0x1e0 kernel/exit.c:1868
 __do_sys_wait4 kernel/exit.c:1896 [inline]
 __se_sys_wait4 kernel/exit.c:1892 [inline]
 __x64_sys_wait4+0x91/0x120 kernel/exit.c:1892
 x64_sys_call+0x26c8/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:62
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888106a8cc00 of 4 bytes by task 11849 on cpu 0:
 dentry_unlist fs/dcache.c:639 [inline]
 __dentry_kill+0x2aa/0x4b0 fs/dcache.c:683
 dput+0x5e/0xd0 fs/dcache.c:911
 proc_invalidate_siblings_dcache+0x1c8/0x2a0 fs/proc/inode.c:143
 proc_flush_pid+0x1d/0x30 fs/proc/base.c:3484
 release_task+0x992/0xb60 kernel/exit.c:292
 exit_notify kernel/exit.c:782 [inline]
 do_exit+0xd81/0x1590 kernel/exit.c:976
 do_group_exit+0xff/0x140 kernel/exit.c:1105
 get_signal+0xe59/0xf70 kernel/signal.c:3034
 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337
 exit_to_user_mode_loop+0x7a/0x100 kernel/entry/common.c:111
 exit_to_user_mode_prepare include/linux/entry-common.h:330 [inline]
 syscall_exit_to_user_mode_work include/linux/entry-common.h:414 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:449 [inline]
 do_syscall_64+0x1d6/0x200 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0024040c -> 0x0000000c

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 11849 Comm: syz.1.1889 Not tainted 6.16.0-rc3-syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/06/23 23:06 upstream 86731a2a651e e2f27c35 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __dentry_kill / shrink_dentry_list
2025/06/10 16:11 upstream f09079bd04a9 4826c28e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __dentry_kill / shrink_dentry_list
* Struck through repros no longer work on HEAD.