syzbot


KCSAN: data-race in fat_bmap / generic_write_end (7)

Status: auto-obsoleted due to no activity on 2024/03/29 08:52
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+2f4e90a084ee920bddfe@syzkaller.appspotmail.com
First crash: 66d, last: 64d
Similar bugs (6)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in fat_bmap / generic_write_end exfat 1 1286d 1286d 0/26 auto-closed as invalid on 2020/11/23 09:14
upstream KCSAN: data-race in fat_bmap / generic_write_end (6) exfat 7 138d 142d 0/26 auto-obsoleted due to no activity on 2024/01/14 23:13
upstream KCSAN: data-race in fat_bmap / generic_write_end (3) exfat 12 708d 857d 0/26 auto-closed as invalid on 2022/06/24 01:02
upstream KCSAN: data-race in fat_bmap / generic_write_end (4) exfat 1 649d 649d 0/26 auto-closed as invalid on 2022/08/21 21:59
upstream KCSAN: data-race in fat_bmap / generic_write_end (5) exfat 2 501d 518d 0/26 auto-obsoleted due to no activity on 2023/01/17 16:08
upstream KCSAN: data-race in fat_bmap / generic_write_end (2) exfat 2 977d 999d 0/26 auto-closed as invalid on 2021/09/28 00:29

Sample crash report:
==================================================================
BUG: KCSAN: data-race in fat_bmap / generic_write_end

write to 0xffff8881069b1c30 of 8 bytes by task 13909 on cpu 0:
 i_size_write include/linux/fs.h:934 [inline]
 generic_write_end+0x94/0x230 fs/buffer.c:2275
 fat_write_end+0x4e/0x160 fs/fat/inode.c:244
 generic_perform_write+0x267/0x410 mm/filemap.c:3941
 __generic_file_write_iter+0xec/0x120 mm/filemap.c:4022
 generic_file_write_iter+0x7d/0x1c0 mm/filemap.c:4051
 call_write_iter include/linux/fs.h:2087 [inline]
 iter_file_splice_write+0x5de/0x950 fs/splice.c:743
 do_splice_from fs/splice.c:941 [inline]
 direct_splice_actor+0x167/0x2c0 fs/splice.c:1164
 splice_direct_to_actor+0x2fb/0x660 fs/splice.c:1108
 do_splice_direct_actor fs/splice.c:1207 [inline]
 do_splice_direct+0xd7/0x150 fs/splice.c:1233
 do_sendfile+0x3b9/0x960 fs/read_write.c:1295
 __do_sys_sendfile64 fs/read_write.c:1362 [inline]
 __se_sys_sendfile64 fs/read_write.c:1348 [inline]
 __x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1348
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x63/0x6b

read to 0xffff8881069b1c30 of 8 bytes by task 13921 on cpu 1:
 i_size_read include/linux/fs.h:912 [inline]
 is_exceed_eof fs/fat/cache.c:340 [inline]
 fat_bmap+0x1d2/0x290 fs/fat/cache.c:375
 __fat_get_block fs/fat/inode.c:129 [inline]
 fat_get_block+0xd1/0x5e0 fs/fat/inode.c:190
 do_mpage_readpage+0x47b/0xca0 fs/mpage.c:232
 mpage_readahead+0x1ad/0x2d0 fs/mpage.c:381
 fat_readahead+0x1c/0x20 fs/fat/inode.c:210
 read_pages+0x9f/0x540 mm/readahead.c:160
 page_cache_ra_unbounded+0x224/0x2e0
 do_page_cache_ra mm/readahead.c:299 [inline]
 page_cache_ra_order mm/readahead.c:544 [inline]
 ondemand_readahead+0x50b/0x670 mm/readahead.c:666
 page_cache_sync_ra+0x27e/0x2a0 mm/readahead.c:693
 page_cache_sync_readahead include/linux/pagemap.h:1300 [inline]
 filemap_get_pages+0x251/0xf90 mm/filemap.c:2498
 filemap_splice_read+0x337/0x8f0 mm/filemap.c:2872
 do_splice_read fs/splice.c:985 [inline]
 splice_direct_to_actor+0x268/0x660 fs/splice.c:1089
 do_splice_direct_actor fs/splice.c:1207 [inline]
 do_splice_direct+0xd7/0x150 fs/splice.c:1233
 do_sendfile+0x3b9/0x960 fs/read_write.c:1295
 __do_sys_sendfile64 fs/read_write.c:1362 [inline]
 __se_sys_sendfile64 fs/read_write.c:1348 [inline]
 __x64_sys_sendfile64+0x110/0x150 fs/read_write.c:1348
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x63/0x6b

value changed: 0x0000000000299000 -> 0x000000000029a000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 13921 Comm: syz-executor.3 Not tainted 6.8.0-rc5-syzkaller-00163-gffd2cb6b718e #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
==================================================================

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/02/23 08:51 upstream ffd2cb6b718e 8d446f15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_bmap / generic_write_end
2024/02/21 10:43 upstream 9fc1ccccfd8d 3af7dd65 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_bmap / generic_write_end
2024/02/20 22:13 upstream fca7526b7d89 3af7dd65 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_bmap / generic_write_end
2024/02/20 21:40 upstream fca7526b7d89 3af7dd65 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_bmap / generic_write_end
2024/02/20 17:31 upstream b401b621758e 3af7dd65 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in fat_bmap / generic_write_end
* Struck through repros no longer work on HEAD.