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

From: syzbot
Date: Sun Sep 08 2024 - 02:59:11 EST


Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
KCSAN: data-race in ext4_fill_raw_inode / ext4_orphan_del

==================================================================
BUG: KCSAN: data-race in ext4_fill_raw_inode / ext4_orphan_del

write to 0xffff88810fc69b6c of 4 bytes by task 3364 on cpu 0:
ext4_orphan_del+0x54d/0x6e0 fs/ext4/orphan.c:296
ext4_evict_inode+0xac3/0xdc0 fs/ext4/inode.c:289
evict+0x2d7/0x560 fs/inode.c:704
iput_final fs/inode.c:1838 [inline]
iput+0x432/0x5c0 fs/inode.c:1864
d_delete_notify include/linux/fsnotify.h:332 [inline]
vfs_rmdir+0x29f/0x320 fs/namei.c:4306
do_rmdir+0x194/0x320 fs/namei.c:4352
__do_sys_unlinkat fs/namei.c:4528 [inline]
__se_sys_unlinkat fs/namei.c:4522 [inline]
__x64_sys_unlinkat+0xa2/0xb0 fs/namei.c:4522
x64_sys_call+0x25fd/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:264
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x54/0x120 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x76/0x7e

read to 0xffff88810fc69b6c of 4 bytes by task 3413 on cpu 1:
ext4_fill_raw_inode+0x64b/0xe80 fs/ext4/inode.c:4348
ext4_do_update_inode fs/ext4/inode.c:5151 [inline]
ext4_mark_iloc_dirty+0x2e9/0xe10 fs/ext4/inode.c:5781
__ext4_mark_inode_dirty+0x314/0x440 fs/ext4/inode.c:5985
ext4_dirty_inode+0x91/0xb0 fs/ext4/inode.c:6014
__mark_inode_dirty+0x16d/0x7d0 fs/fs-writeback.c:2486
mark_inode_dirty_sync include/linux/fs.h:2437 [inline]
dquot_free_space include/linux/quotaops.h:380 [inline]
dquot_free_block include/linux/quotaops.h:390 [inline]
ext4_mb_clear_bb fs/ext4/mballoc.c:6534 [inline]
ext4_free_blocks+0xe8b/0x14b0 fs/ext4/mballoc.c:6653
ext4_remove_blocks fs/ext4/extents.c:2521 [inline]
ext4_ext_rm_leaf fs/ext4/extents.c:2686 [inline]
ext4_ext_remove_space+0x16ba/0x2c80 fs/ext4/extents.c:2934
ext4_ext_truncate+0xc4/0x150 fs/ext4/extents.c:4441
ext4_truncate+0x773/0xb10 fs/ext4/inode.c:4218
ext4_evict_inode+0x8b4/0xdc0 fs/ext4/inode.c:258
evict+0x2d7/0x560 fs/inode.c:704
iput_final fs/inode.c:1838 [inline]
iput+0x432/0x5c0 fs/inode.c:1864
d_delete_notify include/linux/fsnotify.h:332 [inline]
vfs_rmdir+0x29f/0x320 fs/namei.c:4306
do_rmdir+0x194/0x320 fs/namei.c:4352
__do_sys_unlinkat fs/namei.c:4528 [inline]
__se_sys_unlinkat fs/namei.c:4522 [inline]
__x64_sys_unlinkat+0xa2/0xb0 fs/namei.c:4522
x64_sys_call+0x25fd/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:264
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x54/0x120 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x76/0x7e

value changed: 0x0000079b -> 0x00000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3413 Comm: syz-executor.5 Not tainted 6.11.0-rc6-syzkaller-00326-gd1f2d51b711a-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
==================================================================


Tested on:

commit: d1f2d51b Merge tag 'clk-fixes-for-linus' of git://git...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1400589f980000
kernel config: https://syzkaller.appspot.com/x/.config?x=e81d40b0108ea8fe
dashboard link: https://syzkaller.appspot.com/bug?extid=702361cf7e3d95758761
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
patch: https://syzkaller.appspot.com/x/patch.diff?x=10a50e00580000