syzbot


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

Status: moderation: reported on 2025/04/27 19:20
Subsystems: mm ext4
[Documentation on labels]
Reported-by: syzbot+c0029a42ecaf45327127@syzkaller.appspotmail.com
First crash: 107d, last: 38d
Similar bugs (7)
Kernel Title Rank 🛈 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 6 10 359d 341d 0/29 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 6 8 681d 777d 0/29 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) mm fs 6 3 875d 892d 0/29 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 6 7 1295d 1369d 0/29 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 6 1 1080d 1080d 0/29 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 6 5 497d 591d 0/29 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 6 1 834d 834d 0/29 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 0xffff8881040228d0 of 8 bytes by task 8934 on cpu 0:
 do_sync_mmap_readahead+0x204/0x280 mm/filemap.c:3267
 filemap_fault+0x311/0xb40 mm/filemap.c:3412
 __do_fault+0xb9/0x200 mm/memory.c:5169
 do_read_fault mm/memory.c:5590 [inline]
 do_fault mm/memory.c:5724 [inline]
 do_pte_missing mm/memory.c:4251 [inline]
 handle_pte_fault mm/memory.c:6069 [inline]
 __handle_mm_fault mm/memory.c:6212 [inline]
 handle_mm_fault+0xf78/0x2be0 mm/memory.c:6381
 faultin_page mm/gup.c:1186 [inline]
 __get_user_pages+0x1036/0x1fb0 mm/gup.c:1488
 populate_vma_page_range mm/gup.c:1926 [inline]
 __mm_populate+0x243/0x3a0 mm/gup.c:2029
 mm_populate include/linux/mm.h:3348 [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+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

write to 0xffff8881040228d0 of 8 bytes by task 8924 on cpu 1:
 do_sync_mmap_readahead+0x204/0x280 mm/filemap.c:3267
 filemap_fault+0x311/0xb40 mm/filemap.c:3412
 __do_fault+0xb9/0x200 mm/memory.c:5169
 do_shared_fault mm/memory.c:5654 [inline]
 do_fault mm/memory.c:5728 [inline]
 do_pte_missing mm/memory.c:4251 [inline]
 handle_pte_fault mm/memory.c:6069 [inline]
 __handle_mm_fault mm/memory.c:6212 [inline]
 handle_mm_fault+0xd69/0x2be0 mm/memory.c:6381
 do_user_addr_fault+0x3fe/0x1090 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:623
 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]
 _inline_copy_to_user include/linux/uaccess.h:197 [inline]
 _copy_to_user+0x7c/0xa0 lib/usercopy.c:26
 copy_to_user include/linux/uaccess.h:225 [inline]
 rng_dev_read+0x3ef/0x740 drivers/char/hw_random/core.c:258
 do_loop_readv_writev fs/read_write.c:847 [inline]
 vfs_readv+0x3fb/0x690 fs/read_write.c:1020
 do_preadv fs/read_write.c:1132 [inline]
 __do_sys_preadv fs/read_write.c:1179 [inline]
 __se_sys_preadv fs/read_write.c:1174 [inline]
 __x64_sys_preadv+0xfd/0x1c0 fs/read_write.c:1174
 x64_sys_call+0x1503/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:296
 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: 0x0000000000000030 -> 0x0000000000000031

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 8924 Comm: syz.2.1928 Not tainted 6.16.0-rc4-syzkaller-00308-ga79a588fc176 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/07/05 17:26 upstream a79a588fc176 4f67c4ae .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
2025/06/12 10:44 upstream 2c4a1f3fe03e 98683f8f .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
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.