syzbot


KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead (8)

Status: moderation: reported on 2025/04/27 19:20
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+c0029a42ecaf45327127@syzkaller.appspotmail.com
First crash: 6d16h, last: 6d16h
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead (7) mm 10 258d 240d 0/28 auto-obsoleted due to no activity on 2024/09/23 07:15
upstream KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead (5) mm 8 580d 676d 0/28 auto-obsoleted due to no activity on 2023/11/06 01:09
upstream KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead (3) fs mm 3 774d 791d 0/28 auto-obsoleted due to no activity on 2023/04/29 19:41
upstream KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead fs 7 1194d 1268d 0/28 auto-closed as invalid on 2022/03/01 21:22
upstream KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead (2) fs 1 979d 979d 0/28 auto-closed as invalid on 2022/10/02 20:33
upstream KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead (6) fs mm 5 396d 490d 0/28 auto-obsoleted due to no activity on 2024/05/08 09:54
upstream KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead (4) fs 1 733d 733d 0/28 auto-obsoleted due to no activity on 2023/06/06 03:32

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

write to 0xffff88811743ced0 of 8 bytes by task 3645 on cpu 0:
 do_sync_mmap_readahead+0x204/0x280 mm/filemap.c:3258
 filemap_fault+0x311/0xb40 mm/filemap.c:3403
 __do_fault+0xb9/0x200 mm/memory.c:5098
 do_read_fault mm/memory.c:5518 [inline]
 do_fault mm/memory.c:5652 [inline]
 do_pte_missing mm/memory.c:4160 [inline]
 handle_pte_fault mm/memory.c:5997 [inline]
 __handle_mm_fault mm/memory.c:6140 [inline]
 handle_mm_fault+0x110c/0x2ae0 mm/memory.c:6309
 do_user_addr_fault+0x3fe/0x1090 arch/x86/mm/fault.c:1388
 handle_page_fault arch/x86/mm/fault.c:1480 [inline]
 exc_page_fault+0x54/0xc0 arch/x86/mm/fault.c:1538
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623
 fault_in_readable+0xfe/0x1b0 mm/gup.c:-1
 fault_in_iov_iter_readable+0x129/0x210 lib/iov_iter.c:94
 generic_perform_write+0x3cf/0x490 mm/filemap.c:4152
 ext4_buffered_write_iter+0x1ee/0x3c0 fs/ext4/file.c:299
 ext4_file_write_iter+0x383/0xf00 fs/ext4/file.c:-1
 new_sync_write fs/read_write.c:591 [inline]
 vfs_write+0x49d/0x8d0 fs/read_write.c:684
 ksys_pwrite64 fs/read_write.c:791 [inline]
 __do_sys_pwrite64 fs/read_write.c:799 [inline]
 __se_sys_pwrite64 fs/read_write.c:796 [inline]
 __x64_sys_pwrite64+0xfd/0x150 fs/read_write.c:796
 x64_sys_call+0xe45/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:19
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

write to 0xffff88811743ced0 of 8 bytes by task 3663 on cpu 1:
 do_sync_mmap_readahead+0x204/0x280 mm/filemap.c:3258
 filemap_fault+0x311/0xb40 mm/filemap.c:3403
 __do_fault+0xb9/0x200 mm/memory.c:5098
 do_read_fault mm/memory.c:5518 [inline]
 do_fault mm/memory.c:5652 [inline]
 do_pte_missing mm/memory.c:4160 [inline]
 handle_pte_fault mm/memory.c:5997 [inline]
 __handle_mm_fault mm/memory.c:6140 [inline]
 handle_mm_fault+0x110c/0x2ae0 mm/memory.c:6309
 faultin_page mm/gup.c:1193 [inline]
 __get_user_pages+0xde2/0x1d20 mm/gup.c:1491
 populate_vma_page_range mm/gup.c:1929 [inline]
 __mm_populate+0x243/0x3a0 mm/gup.c:2032
 mm_populate include/linux/mm.h:3487 [inline]
 vm_mmap_pgoff+0x232/0x2e0 mm/util.c:584
 ksys_mmap_pgoff+0x268/0x310 mm/mmap.c:607
 x64_sys_call+0x1602/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:10
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000000032020bd -> 0x00000000032020be

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3663 Comm: syz.0.56 Not tainted 6.15.0-rc3-syzkaller-00342-g5bc1018675ec #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================
EXT4-fs warning (device loop0): ext4_block_to_path:107: block 209748036 > max in inode 15
EXT4-fs warning (device loop0): ext4_block_to_path:107: block 209748040 > max in inode 15
EXT4-fs warning (device loop0): ext4_block_to_path:107: block 209748044 > max in inode 15
EXT4-fs warning (device loop0): ext4_block_to_path:107: block 209748048 > max in inode 15

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/27 19:20 upstream 5bc1018675ec c6b4fb39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_sync_mmap_readahead / do_sync_mmap_readahead
* Struck through repros no longer work on HEAD.