syzbot


KCSAN: data-race in filemap_read_folio / filemap_read_folio (3)

Status: moderation: reported on 2025/12/01 02:19
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+42dd0c0b889a6183edde@syzkaller.appspotmail.com
First crash: 12d, last: 12d
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in filemap_read_folio / filemap_read_folio (2) fs 6 1 90d 90d 0/29 auto-obsoleted due to no activity on 2025/11/09 06:44
upstream KCSAN: data-race in filemap_read_folio / filemap_read_folio selinux serial 6 2 180d 224d 0/29 auto-obsoleted due to no activity on 2025/08/11 03:51

Sample crash report:
Buffer I/O error on dev loop3, logical block 2072, async page read
==================================================================
BUG: KCSAN: data-race in filemap_read_folio / filemap_read_folio

read-write to 0xffff888117725760 of 4 bytes by task 6134 on cpu 0:
 shrink_readahead_size_eio mm/filemap.c:2386 [inline]
 filemap_read_folio+0xea/0x110 mm/filemap.c:2456
 filemap_fault+0x58f/0xb60 mm/filemap.c:3581
 __do_fault+0xbc/0x200 mm/memory.c:5281
 do_read_fault mm/memory.c:5716 [inline]
 do_fault mm/memory.c:5850 [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+0xf78/0x2be0 mm/memory.c:6505
 faultin_page mm/gup.c:1126 [inline]
 __get_user_pages+0x102a/0x1ed0 mm/gup.c:1428
 populate_vma_page_range mm/gup.c:1860 [inline]
 __mm_populate+0x243/0x3a0 mm/gup.c:1963
 mm_populate include/linux/mm.h:3478 [inline]
 vm_mmap_pgoff+0x232/0x2e0 mm/util.c:586
 ksys_mmap_pgoff+0x268/0x310 mm/mmap.c:604
 x64_sys_call+0x14a3/0x3000 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

read-write to 0xffff888117725760 of 4 bytes by task 6139 on cpu 1:
 shrink_readahead_size_eio mm/filemap.c:2386 [inline]
 filemap_read_folio+0xea/0x110 mm/filemap.c:2456
 filemap_fault+0x58f/0xb60 mm/filemap.c:3581
 __do_fault+0xbc/0x200 mm/memory.c:5281
 do_read_fault mm/memory.c:5716 [inline]
 do_fault mm/memory.c:5850 [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+0xf78/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
 fault_in_readable+0xad/0x170 mm/gup.c:-1
 fault_in_iov_iter_readable+0x129/0x210 lib/iov_iter.c:94
 generic_perform_write+0x3cf/0x490 mm/filemap.c:4304
 __generic_file_write_iter+0x9e/0x120 mm/filemap.c:4372
 generic_file_write_iter+0x8d/0x2f0 mm/filemap.c:4398
 new_sync_write fs/read_write.c:593 [inline]
 vfs_write+0x52a/0x960 fs/read_write.c:686
 ksys_write+0xda/0x1a0 fs/read_write.c:738
 __do_sys_write fs/read_write.c:749 [inline]
 __se_sys_write fs/read_write.c:746 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:746
 x64_sys_call+0x2802/0x3000 arch/x86/include/generated/asm/syscalls_64.h:2
 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: 0x00000020 -> 0x00000008

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 6139 Comm: syz.3.869 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/12/01 02:18 upstream e69c7c175115 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in filemap_read_folio / filemap_read_folio
* Struck through repros no longer work on HEAD.