================================================================== BUG: KCSAN: data-race in __filemap_add_folio / kiocb_invalidate_post_direct_write read-write to 0xffff8881066ca6c8 of 8 bytes by task 28451 on cpu 0: __filemap_add_folio+0x4c1/0x730 mm/filemap.c:902 filemap_add_folio+0x70/0x160 mm/filemap.c:937 page_cache_ra_unbounded+0x15e/0x2e0 mm/readahead.c:250 do_page_cache_ra mm/readahead.c:299 [inline] page_cache_ra_order mm/readahead.c:546 [inline] ondemand_readahead+0x524/0x690 mm/readahead.c:668 page_cache_sync_ra+0x27e/0x2a0 mm/readahead.c:695 page_cache_sync_readahead include/linux/pagemap.h:1283 [inline] filemap_get_pages+0x251/0xf90 mm/filemap.c:2497 filemap_splice_read+0x238/0x7f0 mm/filemap.c:2860 vfs_splice_read fs/splice.c:993 [inline] splice_direct_to_actor+0x28c/0x690 fs/splice.c:1069 do_splice_direct+0x10d/0x190 fs/splice.c:1194 do_sendfile+0x3c4/0x980 fs/read_write.c:1254 __do_sys_sendfile64 fs/read_write.c:1322 [inline] __se_sys_sendfile64 fs/read_write.c:1308 [inline] __x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1308 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b read to 0xffff8881066ca6c8 of 8 bytes by task 28452 on cpu 1: kiocb_invalidate_post_direct_write+0x5e/0x1b0 mm/filemap.c:3818 generic_file_direct_write+0xec/0x1f0 mm/filemap.c:3866 __generic_file_write_iter+0xae/0x120 mm/filemap.c:3999 generic_file_write_iter+0x7d/0x1c0 mm/filemap.c:4039 do_iter_write+0x4ad/0x770 fs/read_write.c:860 vfs_iter_write+0x56/0x70 fs/read_write.c:901 iter_file_splice_write+0x462/0x7e0 fs/splice.c:736 do_splice_from fs/splice.c:933 [inline] direct_splice_actor+0x8a/0xb0 fs/splice.c:1142 splice_direct_to_actor+0x31d/0x690 fs/splice.c:1088 do_splice_direct+0x10d/0x190 fs/splice.c:1194 do_sendfile+0x3c4/0x980 fs/read_write.c:1254 __do_sys_sendfile64 fs/read_write.c:1322 [inline] __se_sys_sendfile64 fs/read_write.c:1308 [inline] __x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1308 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b value changed: 0x0000000000000023 -> 0x0000000000000024 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 28452 Comm: syz-executor.2 Not tainted 6.7.0-rc6-syzkaller-00010-g2cf4f94d8e86 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023 ================================================================== syz-executor.2: attempt to access beyond end of device loop2: rw=2049, sector=2048, nr_sectors = 4 limit=2048