syzbot


KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range (6)

Status: moderation: reported on 2024/06/04 01:36
Subsystems: iomap
[Documentation on labels]
Reported-by: syzbot+52b1ab7b009dee48d2db@syzkaller.appspotmail.com
First crash: 22d, last: 4d05h
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range (2) exfat mm 4 372d 386d 0/27 auto-obsoleted due to no activity on 2023/07/24 21:47
upstream KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range (4) mm 2 189d 197d 0/27 auto-obsoleted due to no activity on 2024/01/23 22:45
upstream KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range (3) mm 5 256d 319d 0/27 auto-obsoleted due to no activity on 2023/11/17 05:22
upstream KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range fs mm 7 540d 614d 0/27 auto-obsoleted due to no activity on 2023/02/28 04:15
upstream KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range (5) mm 4 105d 134d 0/27 auto-obsoleted due to no activity on 2024/04/16 09:26

Sample crash report:
loop7: detected capacity change from 0 to 16384
==================================================================
BUG: KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range

read-write to 0xffff8881004c1e78 of 8 bytes by task 6222 on cpu 1:
 page_cache_delete mm/filemap.c:154 [inline]
 __filemap_remove_folio+0x1c5/0x2c0 mm/filemap.c:232
 __remove_mapping+0x341/0x470 mm/vmscan.c:762
 remove_mapping+0x22/0x90 mm/vmscan.c:795
 mapping_evict_folio mm/truncate.c:293 [inline]
 mapping_try_invalidate+0x288/0x3e0 mm/truncate.c:511
 invalidate_mapping_pages+0x27/0x40 mm/truncate.c:549
 invalidate_bdev+0x58/0x70 block/bdev.c:101
 bdev_disk_changed+0xe6/0xbb0 block/partitions/core.c:647
 loop_reread_partitions drivers/block/loop.c:537 [inline]
 loop_set_status+0x4ab/0x550 drivers/block/loop.c:1339
 lo_ioctl+0x892/0x1330
 blkdev_ioctl+0x35f/0x450 block/ioctl.c:676
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:907 [inline]
 __se_sys_ioctl+0xd3/0x150 fs/ioctl.c:893
 __x64_sys_ioctl+0x43/0x50 fs/ioctl.c:893
 x64_sys_call+0x1581/0x2d70 arch/x86/include/generated/asm/syscalls_64.h:17
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881004c1e78 of 8 bytes by task 6221 on cpu 0:
 mapping_needs_writeback mm/filemap.c:635 [inline]
 file_write_and_wait_range+0x6d/0x170 mm/filemap.c:787
 blkdev_fsync+0x4e/0xa0 block/fops.c:542
 vfs_fsync_range+0x122/0x140 fs/sync.c:188
 generic_write_sync+0xf2/0x130 include/linux/fs.h:2794
 blkdev_write_iter+0x379/0x3c0 block/fops.c:707
 iter_file_splice_write+0x5e6/0x970 fs/splice.c:743
 do_splice_from fs/splice.c:941 [inline]
 direct_splice_actor+0x16c/0x2c0 fs/splice.c:1164
 splice_direct_to_actor+0x305/0x670 fs/splice.c:1108
 do_splice_direct_actor fs/splice.c:1207 [inline]
 do_splice_direct+0xd7/0x150 fs/splice.c:1233
 do_sendfile+0x3ab/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
 x64_sys_call+0x2c9f/0x2d70 arch/x86/include/generated/asm/syscalls_64.h:41
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x000000000000020a -> 0x0000000000000204

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 6221 Comm: syz-executor.4 Not tainted 6.10.0-rc4-syzkaller-00164-g66cc544fd75c #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
==================================================================
I/O error, dev loop7, sector 4608 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Buffer I/O error on dev loop7, logical block 576, lost async page write

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/06/21 21:17 upstream 66cc544fd75c edc5149a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range
2024/06/04 01:35 upstream f06ce441457d a1feae05 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __filemap_remove_folio / file_write_and_wait_range
* Struck through repros no longer work on HEAD.