syzbot


KCSAN: data-race in __es_find_extent_range / __es_find_extent_range

Status: auto-closed as invalid on 2021/05/27 20:25
Subsystems: ext4
[Documentation on labels]
First crash: 1252d, last: 1247d
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __es_find_extent_range / __es_find_extent_range (4) ext4 1 685d 685d 0/28 auto-obsoleted due to no activity on 2022/12/10 23:58
upstream KCSAN: data-race in __es_find_extent_range / __es_find_extent_range (5) ext4 1 647d 647d 0/28 auto-obsoleted due to no activity on 2023/01/17 15:46
upstream KCSAN: data-race in __es_find_extent_range / __es_find_extent_range (3) ext4 1 1040d 1040d 0/28 auto-closed as invalid on 2021/12/20 16:23
upstream KCSAN: data-race in __es_find_extent_range / __es_find_extent_range (2) ext4 4 1120d 1189d 0/28 auto-closed as invalid on 2021/10/01 16:26
upstream KCSAN: data-race in __es_find_extent_range / __es_find_extent_range (6) ext4 4 525d 515d 22/28 fixed on 2023/07/01 16:05

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

write to 0xffff8881400b35c0 of 8 bytes by task 27186 on cpu 1:
 __es_find_extent_range+0x28e/0x330 fs/ext4/extents_status.c:298
 ext4_es_find_extent_range+0x87/0x190 fs/ext4/extents_status.c:320
 ext4_ext_put_gap_in_cache fs/ext4/extents.c:2237 [inline]
 ext4_ext_map_blocks+0xf19/0x1f00 fs/ext4/extents.c:4143
 ext4_da_map_blocks fs/ext4/inode.c:1759 [inline]
 ext4_da_get_block_prep+0x428/0x9b0 fs/ext4/inode.c:1836
 __block_write_begin_int+0x4a2/0x1060 fs/buffer.c:2011
 __block_write_begin+0x2b/0x40 fs/buffer.c:2061
 ext4_da_write_begin+0x4c8/0x820 fs/ext4/inode.c:3020
 generic_perform_write+0x196/0x3a0 mm/filemap.c:3575
 ext4_buffered_write_iter+0x2f2/0x3f0 fs/ext4/file.c:269
 ext4_file_write_iter+0x2e7/0x11d0 fs/ext4/file.c:502
 call_write_iter include/linux/fs.h:1977 [inline]
 do_iter_readv_writev+0x2cb/0x360 fs/read_write.c:740
 do_iter_write+0x112/0x4c0 fs/read_write.c:866
 vfs_iter_write+0x4c/0x70 fs/read_write.c:907
 iter_file_splice_write+0x40a/0x750 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+0xf5/0x170 fs/splice.c:979
 do_sendfile+0x773/0xda0 fs/read_write.c:1260
 __do_sys_sendfile64 fs/read_write.c:1325 [inline]
 __se_sys_sendfile64 fs/read_write.c:1311 [inline]
 __x64_sys_sendfile64+0xf2/0x130 fs/read_write.c:1311
 do_syscall_64+0x34/0x50 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xae

read to 0xffff8881400b35c0 of 8 bytes by task 27262 on cpu 0:
 __es_find_extent_range+0x79/0x330 fs/ext4/extents_status.c:272
 ext4_es_find_extent_range+0x87/0x190 fs/ext4/extents_status.c:320
 ext4_ext_put_gap_in_cache fs/ext4/extents.c:2237 [inline]
 ext4_ext_map_blocks+0xf19/0x1f00 fs/ext4/extents.c:4143
 ext4_map_blocks+0x1be/0xef0 fs/ext4/inode.c:563
 ext4_mpage_readpages+0x6d9/0x1130 fs/ext4/readpage.c:304
 ext4_readahead+0x99/0xa0 fs/ext4/inode.c:3262
 read_pages+0x9f/0x530 mm/readahead.c:130
 page_cache_ra_unbounded+0x3a8/0x400 mm/readahead.c:238
 ondemand_readahead+0x56f/0x7a0 mm/readahead.c:267
 page_cache_async_ra+0x16e/0x190 mm/readahead.c:607
 page_cache_async_readahead include/linux/pagemap.h:863 [inline]
 filemap_readahead mm/filemap.c:2350 [inline]
 filemap_get_pages mm/filemap.c:2391 [inline]
 filemap_read+0x485/0x1210 mm/filemap.c:2458
 generic_file_read_iter+0x84/0x3e0 mm/filemap.c:2609
 ext4_file_read_iter+0x1db/0x290 fs/ext4/file.c:73
 call_read_iter include/linux/fs.h:1971 [inline]
 generic_file_splice_read+0x22a/0x310 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+0xf5/0x170 fs/splice.c:979
 do_sendfile+0x773/0xda0 fs/read_write.c:1260
 __do_sys_sendfile64 fs/read_write.c:1325 [inline]
 __se_sys_sendfile64 fs/read_write.c:1311 [inline]
 __x64_sys_sendfile64+0xf2/0x130 fs/read_write.c:1311
 do_syscall_64+0x34/0x50 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xae

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 27262 Comm: syz-executor.1 Not tainted 5.12.0-rc8-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/04/22 20:25 upstream 16fc44d6387e 33c28d03 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __es_find_extent_range / __es_find_extent_range
2021/04/17 19:17 upstream 9cdbf6467424 7e2b734b .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __es_find_extent_range / __es_find_extent_range
* Struck through repros no longer work on HEAD.