==================================================================
BUG: KCSAN: data-race in fat_bmap / generic_write_end

write to 0xffff88811ce231d8 of 8 bytes by task 4948 on cpu 1:
 i_size_write include/linux/fs.h:907 [inline]
 generic_write_end+0x96/0x180 fs/buffer.c:2187
 fat_write_end+0x4a/0x160 fs/fat/inode.c:249
 generic_perform_write+0x261/0x400 mm/filemap.c:3776
 __generic_file_write_iter+0x195/0x2b0 mm/filemap.c:3860
 generic_file_write_iter+0x75/0x130 mm/filemap.c:3924
 call_write_iter include/linux/fs.h:2074 [inline]
 do_iter_readv_writev+0x2de/0x380 fs/read_write.c:725
 do_iter_write+0x192/0x5c0 fs/read_write.c:851
 vfs_iter_write+0x4c/0x70 fs/read_write.c:892
 iter_file_splice_write+0x43a/0x790 fs/splice.c:689
 do_splice_from fs/splice.c:767 [inline]
 direct_splice_actor+0x80/0xa0 fs/splice.c:936
 splice_direct_to_actor+0x345/0x650 fs/splice.c:891
 do_splice_direct+0x106/0x190 fs/splice.c:979
 do_sendfile+0x675/0xc40 fs/read_write.c:1245
 __do_sys_sendfile64 fs/read_write.c:1310 [inline]
 __se_sys_sendfile64 fs/read_write.c:1296 [inline]
 __x64_sys_sendfile64+0x102/0x140 fs/read_write.c:1296
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

read to 0xffff88811ce231d8 of 8 bytes by task 4949 on cpu 0:
 i_size_read include/linux/fs.h:885 [inline]
 is_exceed_eof fs/fat/cache.c:340 [inline]
 fat_bmap+0x1cb/0x290 fs/fat/cache.c:375
 __fat_get_block fs/fat/inode.c:129 [inline]
 fat_get_block+0xcf/0x610 fs/fat/inode.c:190
 do_mpage_readpage+0x44c/0xfd0 fs/mpage.c:230
 mpage_readahead+0x188/0x2c0 fs/mpage.c:382
 fat_readahead+0x18/0x20 fs/fat/inode.c:215
 read_pages+0xba/0x5f0 mm/readahead.c:129
 page_cache_ra_unbounded+0x16a/0x400 mm/readahead.c:210
 ondemand_readahead+0x4f8/0x700
 page_cache_sync_ra+0xaf/0xe0 mm/readahead.c:579
 page_cache_sync_readahead include/linux/pagemap.h:1056 [inline]
 filemap_get_pages mm/filemap.c:2589 [inline]
 filemap_read+0x3ed/0x1430 mm/filemap.c:2676
 generic_file_read_iter+0x72/0x320 mm/filemap.c:2822
 call_read_iter include/linux/fs.h:2068 [inline]
 generic_file_splice_read+0x24f/0x330 fs/splice.c:311
 do_splice_to fs/splice.c:796 [inline]
 splice_direct_to_actor+0x2aa/0x650 fs/splice.c:870
 do_splice_direct+0x106/0x190 fs/splice.c:979
 do_sendfile+0x675/0xc40 fs/read_write.c:1245
 __do_sys_sendfile64 fs/read_write.c:1310 [inline]
 __se_sys_sendfile64 fs/read_write.c:1296 [inline]
 __x64_sys_sendfile64+0x102/0x140 fs/read_write.c:1296
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

value changed: 0x0000000000187000 -> 0x0000000000188000

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 4949 Comm: syz-executor.1 Not tainted 5.17.0-rc6-syzkaller-00228-gac84e82f78cb-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================