syzbot


KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask (5)

Status: upstream: reported on 2024/07/04 14:22
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+701037856c25b143f1ad@syzkaller.appspotmail.com
Fix commit: 35ceae44742e fsnotify: Avoid data race between fsnotify_recalc_mask() and fsnotify_object_watched()
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-snapshot-upstream-root ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci2-upstream-fs ci2-upstream-kcsan-gce], missing on: [ci-qemu-native-arm64-kvm ci-qemu2-riscv64 ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-usb]
First crash: 93d, last: 6d02h
Discussions (4)
Title Replies (including bot) Last reply
[PATCH v3] fsnotify: Avoid data race between fsnotify_recalc_mask() and fsnotify_object_watched() 2 (2) 2024/07/17 14:52
[PATCH v2] fsnotify: Avoid data race between fsnotify_recalc_mask() and fsnotify_object_watched() 4 (4) 2024/07/17 13:16
[PATCH] fsnotify: Avoid data race between fsnotify_recalc_mask() and fsnotify_object_watched() 2 (2) 2024/07/15 12:56
[syzbot] [fs?] KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask (5) 4 (5) 2024/07/15 12:20
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask (4) fs 2 170d 199d 0/28 auto-obsoleted due to no activity on 2024/05/22 16:38
upstream KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask fs 1 665d 665d 0/28 auto-obsoleted due to no activity on 2023/02/11 07:53
upstream KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask (3) fs 1 334d 299d 0/28 auto-obsoleted due to no activity on 2023/12/25 00:07
upstream KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask (2) fs 1 400d 400d 0/28 auto-obsoleted due to no activity on 2023/10/05 20:31

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask

write to 0xffff888101441fd8 of 4 bytes by task 3256 on cpu 1:
 __fsnotify_recalc_mask+0x216/0x320 fs/notify/mark.c:248
 fsnotify_recalc_mask+0xaa/0x190 fs/notify/mark.c:286
 fsnotify_add_mark_locked+0x6e0/0x840 fs/notify/mark.c:807
 fsnotify_add_inode_mark_locked include/linux/fsnotify_backend.h:814 [inline]
 inotify_new_watch fs/notify/inotify/inotify_user.c:620 [inline]
 inotify_update_watch fs/notify/inotify/inotify_user.c:647 [inline]
 __do_sys_inotify_add_watch fs/notify/inotify/inotify_user.c:786 [inline]
 __se_sys_inotify_add_watch+0x660/0x800 fs/notify/inotify/inotify_user.c:729
 __x64_sys_inotify_add_watch+0x43/0x50 fs/notify/inotify/inotify_user.c:729
 x64_sys_call+0x2acb/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:255
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888101441fd8 of 4 bytes by task 8514 on cpu 0:
 fsnotify_object_watched fs/notify/fsnotify.c:198 [inline]
 __fsnotify_parent+0xd4/0x380 fs/notify/fsnotify.c:228
 fsnotify_parent include/linux/fsnotify.h:96 [inline]
 fsnotify_file include/linux/fsnotify.h:131 [inline]
 fsnotify_open include/linux/fsnotify.h:401 [inline]
 vfs_open+0x1b5/0x1f0 fs/open.c:1095
 do_open fs/namei.c:3774 [inline]
 path_openat+0x1ac2/0x1fa0 fs/namei.c:3933
 do_filp_open+0xf7/0x200 fs/namei.c:3960
 do_sys_openat2+0xab/0x120 fs/open.c:1415
 do_sys_open fs/open.c:1430 [inline]
 __do_sys_openat fs/open.c:1446 [inline]
 __se_sys_openat fs/open.c:1441 [inline]
 __x64_sys_openat+0xf3/0x120 fs/open.c:1441
 x64_sys_call+0x1025/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:258
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000000 -> 0x00002008

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 8514 Comm: syz.4.1929 Not tainted 6.11.0-syzkaller-11993-g3efc57369a0c #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
==================================================================
loop4: detected capacity change from 0 to 512
ext4 filesystem being mounted at /352/file0 supports timestamps until 2038-01-19 (0x7fffffff)
tmpfs: Bad value for 'mpol'

Crashes (15):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/09/29 14:01 upstream 3efc57369a0c ba29ff75 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/09/26 14:58 upstream 11a299a7933e 0d19f247 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/09/17 02:31 upstream adfc3ded5c33 c673ca06 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/09/13 01:37 upstream fdf042df0463 73e8a465 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/09/04 05:53 upstream 88fac17500f4 9d47f20a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/08/16 05:19 upstream 1fb918967b56 e4bacdaf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/08/14 10:30 upstream 6b0f8db921ab 07a4d4ad .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/08/05 01:41 upstream a5dbd76a8942 1786a2a8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/07/29 03:34 upstream 8400291e289e 46eb10b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/07/28 17:12 upstream 5437f30d3458 46eb10b7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/07/23 05:43 upstream 66ebbdfdeb09 708c10c4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/07/19 04:35 upstream 720261cfc732 ee4e11c8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/07/15 23:16 upstream 5e0497553643 e8709b21 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/07/08 23:17 upstream 4376e966ecb7 cde64f7d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
2024/07/04 11:32 upstream 795c58e4c7fc 3f2748a3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __fsnotify_parent / __fsnotify_recalc_mask
* Struck through repros no longer work on HEAD.