Re: [syzbot] [mm?] KCSAN: data-race in generic_fillattr / shmem_mknod (2)

From: syzbot
Date: Fri Jan 12 2024 - 07:15:42 EST


syzbot has found a reproducer for the following issue on:

HEAD commit: 70d201a40823 Merge tag 'f2fs-for-6.8-rc1' of git://git.ker..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=16e391f5e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=31b069fcee8f481d
dashboard link: https://syzkaller.appspot.com/bug?extid=702361cf7e3d95758761
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=147a56a3e80000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/4446464b507c/disk-70d201a4.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/578f39e16cac/vmlinux-70d201a4.xz
kernel image: https://storage.googleapis.com/syzbot-assets/5fffd404e095/bzImage-70d201a4.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+702361cf7e3d95758761@xxxxxxxxxxxxxxxxxxxxxxxxx

==================================================================
BUG: KCSAN: data-race in generic_fillattr / shmem_mknod

write to 0xffff88810427aa10 of 8 bytes by task 3467 on cpu 1:
inode_set_mtime_to_ts include/linux/fs.h:1571 [inline]
shmem_mknod+0x132/0x180 mm/shmem.c:3259
shmem_create+0x34/0x40 mm/shmem.c:3313
lookup_open fs/namei.c:3486 [inline]
open_last_lookups fs/namei.c:3555 [inline]
path_openat+0xdc2/0x1d30 fs/namei.c:3785
do_filp_open+0xf6/0x200 fs/namei.c:3815
do_sys_openat2+0xab/0x110 fs/open.c:1404
do_sys_open fs/open.c:1419 [inline]
__do_sys_openat fs/open.c:1435 [inline]
__se_sys_openat fs/open.c:1430 [inline]
__x64_sys_openat+0xf3/0x120 fs/open.c:1430
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x59/0x120 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b

read to 0xffff88810427aa10 of 8 bytes by task 3068 on cpu 0:
inode_get_mtime include/linux/fs.h:1565 [inline]
generic_fillattr+0x1a6/0x2f0 fs/stat.c:61
shmem_getattr+0x17b/0x200 mm/shmem.c:1139
vfs_getattr_nosec fs/stat.c:135 [inline]
vfs_getattr+0x198/0x1e0 fs/stat.c:176
vfs_statx+0x140/0x320 fs/stat.c:248
vfs_fstatat+0xcd/0x100 fs/stat.c:304
__do_sys_newfstatat fs/stat.c:468 [inline]
__se_sys_newfstatat+0x58/0x260 fs/stat.c:462
__x64_sys_newfstatat+0x55/0x60 fs/stat.c:462
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x59/0x120 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b

value changed: 0x00000000366f1c62 -> 0x000000003707b2e3

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 3068 Comm: udevd Not tainted 6.7.0-syzkaller-06264-g70d201a40823 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
==================================================================


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.