syz.3.414: attempt to access beyond end of device loop3: rw=0, sector=2070, nr_sectors = 1 limit=128 Buffer I/O error on dev loop3, logical block 2070, async page read ================================================================== BUG: KCSAN: data-race in filemap_read_folio / filemap_read_folio read-write to 0xffff88810f85d160 of 4 bytes by task 4570 on cpu 0: shrink_readahead_size_eio mm/filemap.c:2343 [inline] filemap_read_folio+0xea/0x110 mm/filemap.c:2413 filemap_fault+0x569/0xb40 mm/filemap.c:3495 __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 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_from_user arch/x86/include/asm/uaccess_64.h:141 [inline] copy_from_user_iter lib/iov_iter.c:55 [inline] iterate_ubuf include/linux/iov_iter.h:30 [inline] iterate_and_advance2 include/linux/iov_iter.h:300 [inline] iterate_and_advance include/linux/iov_iter.h:328 [inline] __copy_from_iter lib/iov_iter.c:249 [inline] _copy_from_iter+0x141/0xdd0 lib/iov_iter.c:260 copy_from_iter include/linux/uio.h:228 [inline] iterate_tty_write drivers/tty/tty_io.c:1012 [inline] file_tty_write+0x32f/0x670 drivers/tty/tty_io.c:1090 tty_write+0x25/0x30 drivers/tty/tty_io.c:1111 new_sync_write fs/read_write.c:591 [inline] vfs_write+0x49d/0x8d0 fs/read_write.c:684 ksys_write+0xda/0x1a0 fs/read_write.c:736 __do_sys_write fs/read_write.c:747 [inline] __se_sys_write fs/read_write.c:744 [inline] __x64_sys_write+0x40/0x50 fs/read_write.c:744 x64_sys_call+0x2cdd/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:2 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 read-write to 0xffff88810f85d160 of 4 bytes by task 4565 on cpu 1: shrink_readahead_size_eio mm/filemap.c:2343 [inline] filemap_read_folio+0xea/0x110 mm/filemap.c:2413 filemap_fault+0x569/0xb40 mm/filemap.c:3495 __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+0x793/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 __generic_file_write_iter+0xec/0x120 mm/filemap.c:4217 generic_file_write_iter+0x8d/0x2f0 mm/filemap.c:4246 new_sync_write fs/read_write.c:591 [inline] vfs_write+0x49d/0x8d0 fs/read_write.c:684 ksys_write+0xda/0x1a0 fs/read_write.c:736 __do_sys_write fs/read_write.c:747 [inline] __se_sys_write fs/read_write.c:744 [inline] __x64_sys_write+0x40/0x50 fs/read_write.c:744 x64_sys_call+0x2cdd/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:2 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: 0x00000008 -> 0x00000002 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 4565 Comm: syz.3.414 Not tainted 6.15.0-rc4-syzkaller-00189-g2bfcee565c3a #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025 ==================================================================