syzbot


KCSAN: data-race in file_update_time / inode_update_timestamps (6)

Status: moderation: reported on 2025/11/24 22:22
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+045cf701a1db0ee919d9@syzkaller.appspotmail.com
First crash: 4d10h, last: 4d10h
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in file_update_time / inode_update_timestamps (4) fs 6 1 176d 176d 0/29 auto-obsoleted due to no activity on 2025/08/01 08:04
upstream KCSAN: data-race in file_update_time / inode_update_timestamps (3) fs 6 1 234d 234d 0/29 auto-obsoleted due to no activity on 2025/06/03 16:36
upstream KCSAN: data-race in file_update_time / inode_update_timestamps (5) ext4 6 1 78d 78d 0/29 auto-obsoleted due to no activity on 2025/11/06 17:52
upstream KCSAN: data-race in file_update_time / inode_update_timestamps (2) ext4 6 12 298d 418d 0/29 auto-obsoleted due to no activity on 2025/04/01 04:05
upstream KCSAN: data-race in file_update_time / inode_update_timestamps ext4 6 34 467d 665d 0/29 auto-obsoleted due to no activity on 2024/09/23 06:59

Sample crash report:
==================================================================
BUG: KCSAN: data-race in file_update_time / inode_update_timestamps

read to 0xffff8881004bb884 of 4 bytes by task 4408 on cpu 0:
 inode_get_mtime_nsec include/linux/fs.h:1825 [inline]
 inode_get_mtime include/linux/fs.h:1831 [inline]
 inode_needs_update_time fs/inode.c:2336 [inline]
 file_update_time+0x87/0x2b0 fs/inode.c:2383
 fault_dirty_shared_page+0xd9/0x3c0 mm/memory.c:3531
 do_shared_fault mm/memory.c:5808 [inline]
 do_fault mm/memory.c:5854 [inline]
 do_pte_missing mm/memory.c:4362 [inline]
 handle_pte_fault mm/memory.c:6195 [inline]
 __handle_mm_fault mm/memory.c:6336 [inline]
 handle_mm_fault+0x165d/0x2be0 mm/memory.c:6505
 do_user_addr_fault+0x3fe/0x1080 arch/x86/mm/fault.c:1387
 handle_page_fault arch/x86/mm/fault.c:1476 [inline]
 exc_page_fault+0x62/0xa0 arch/x86/mm/fault.c:1532
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618
 rep_movs_alternative+0x4a/0x90 arch/x86/lib/copy_user_64.S:68
 copy_user_generic arch/x86/include/asm/uaccess_64.h:126 [inline]
 raw_copy_to_user arch/x86/include/asm/uaccess_64.h:147 [inline]
 copy_to_user_iter lib/iov_iter.c:25 [inline]
 iterate_ubuf include/linux/iov_iter.h:30 [inline]
 iterate_and_advance2 include/linux/iov_iter.h:302 [inline]
 iterate_and_advance include/linux/iov_iter.h:330 [inline]
 _copy_to_iter+0x141/0xe70 lib/iov_iter.c:185
 copy_to_iter include/linux/uio.h:220 [inline]
 get_random_bytes_user+0x12d/0x290 drivers/char/random.c:473
 __do_sys_getrandom drivers/char/random.c:1416 [inline]
 __se_sys_getrandom drivers/char/random.c:1390 [inline]
 __x64_sys_getrandom+0xcf/0x1a0 drivers/char/random.c:1390
 x64_sys_call+0x1fa6/0x3000 arch/x86/include/generated/asm/syscalls_64.h:319
 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

write to 0xffff8881004bb884 of 4 bytes by task 4407 on cpu 1:
 inode_set_mtime_to_ts include/linux/fs.h:1839 [inline]
 inode_update_timestamps+0x147/0x270 fs/inode.c:2075
 generic_update_time fs/inode.c:2110 [inline]
 inode_update_time fs/inode.c:2130 [inline]
 __file_update_time fs/inode.c:2357 [inline]
 file_update_time+0x20e/0x2b0 fs/inode.c:2387
 fault_dirty_shared_page+0xd9/0x3c0 mm/memory.c:3531
 do_shared_fault mm/memory.c:5808 [inline]
 do_fault mm/memory.c:5854 [inline]
 do_pte_missing mm/memory.c:4362 [inline]
 handle_pte_fault mm/memory.c:6195 [inline]
 __handle_mm_fault mm/memory.c:6336 [inline]
 handle_mm_fault+0x165d/0x2be0 mm/memory.c:6505
 do_user_addr_fault+0x3fe/0x1080 arch/x86/mm/fault.c:1387
 handle_page_fault arch/x86/mm/fault.c:1476 [inline]
 exc_page_fault+0x62/0xa0 arch/x86/mm/fault.c:1532
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618
 rep_movs_alternative+0x4a/0x90 arch/x86/lib/copy_user_64.S:68
 copy_user_generic arch/x86/include/asm/uaccess_64.h:126 [inline]
 raw_copy_to_user arch/x86/include/asm/uaccess_64.h:147 [inline]
 copy_to_user_iter lib/iov_iter.c:25 [inline]
 iterate_ubuf include/linux/iov_iter.h:30 [inline]
 iterate_and_advance2 include/linux/iov_iter.h:302 [inline]
 iterate_and_advance include/linux/iov_iter.h:330 [inline]
 _copy_to_iter+0x141/0xe70 lib/iov_iter.c:185
 copy_to_iter include/linux/uio.h:220 [inline]
 get_random_bytes_user+0x12d/0x290 drivers/char/random.c:473
 __do_sys_getrandom drivers/char/random.c:1416 [inline]
 __se_sys_getrandom drivers/char/random.c:1390 [inline]
 __x64_sys_getrandom+0xcf/0x1a0 drivers/char/random.c:1390
 x64_sys_call+0x1fa6/0x3000 arch/x86/include/generated/asm/syscalls_64.h:319
 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

value changed: 0x00a8e54a -> 0x00f93930

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 4407 Comm: syz.3.304 Not tainted syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/11/24 22:21 upstream ac3fd01e4c1e bf6fe8fe .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in file_update_time / inode_update_timestamps
* Struck through repros no longer work on HEAD.