syzbot


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

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

Sample crash report:
syz.6.1659: attempt to access beyond end of device
loop6: rw=0, sector=2065, nr_sectors = 1 limit=128
Buffer I/O error on dev loop6, logical block 2065, async page read
Buffer I/O error on dev loop6, logical block 2066, async page read
==================================================================
BUG: KCSAN: data-race in filemap_read_folio / filemap_read_folio

read-write to 0xffff88810f4b29a0 of 4 bytes by task 11233 on cpu 1:
 shrink_readahead_size_eio mm/filemap.c:2355 [inline]
 filemap_read_folio+0xea/0x110 mm/filemap.c:2425
 filemap_fault+0x56a/0xb40 mm/filemap.c:3537
 __do_fault+0xb9/0x200 mm/memory.c:5152
 do_read_fault mm/memory.c:5573 [inline]
 do_fault mm/memory.c:5707 [inline]
 do_pte_missing mm/memory.c:4234 [inline]
 handle_pte_fault mm/memory.c:6052 [inline]
 __handle_mm_fault mm/memory.c:6195 [inline]
 handle_mm_fault+0xf78/0x2c20 mm/memory.c:6364
 do_user_addr_fault+0x793/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
 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:4224
 __generic_file_write_iter+0xec/0x120 mm/filemap.c:4289
 generic_file_write_iter+0x8d/0x2f0 mm/filemap.c:4318
 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+0x27fe/0x2ff0 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

read-write to 0xffff88810f4b29a0 of 4 bytes by task 11227 on cpu 0:
 shrink_readahead_size_eio mm/filemap.c:2355 [inline]
 filemap_read_folio+0xea/0x110 mm/filemap.c:2425
 filemap_fault+0x56a/0xb40 mm/filemap.c:3537
 __do_fault+0xb9/0x200 mm/memory.c:5152
 do_read_fault mm/memory.c:5573 [inline]
 do_fault mm/memory.c:5707 [inline]
 do_pte_missing mm/memory.c:4234 [inline]
 handle_pte_fault mm/memory.c:6052 [inline]
 __handle_mm_fault mm/memory.c:6195 [inline]
 handle_mm_fault+0xf78/0x2c20 mm/memory.c:6364
 faultin_page mm/gup.c:1144 [inline]
 __get_user_pages+0x102e/0x1fa0 mm/gup.c:1446
 populate_vma_page_range mm/gup.c:1880 [inline]
 __mm_populate+0x243/0x3a0 mm/gup.c:1983
 mm_populate include/linux/mm.h:3367 [inline]
 vm_mmap_pgoff+0x232/0x2e0 mm/util.c:585
 ksys_mmap_pgoff+0x268/0x310 mm/mmap.c:604
 x64_sys_call+0x14a3/0x2ff0 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

value changed: 0x00000002 -> 0x00000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 11227 Comm: syz.6.1659 Not tainted syzkaller #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/14 06:44 upstream 5cd64d4f9268 e2beed91 .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.