syzbot


KCSAN: data-race in __generic_file_fsync / __mark_inode_dirty (4)

Status: auto-obsoleted due to no activity on 2023/01/14 16:28
Subsystems: exfat
[Documentation on labels]
First crash: 485d, last: 485d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __generic_file_fsync / __mark_inode_dirty (2) exfat 3 916d 931d 0/26 auto-closed as invalid on 2021/10/28 20:30
upstream KCSAN: data-race in __generic_file_fsync / __mark_inode_dirty (5) exfat 2 353d 431d 0/26 auto-obsoleted due to no activity on 2023/05/15 07:03
upstream KCSAN: data-race in __generic_file_fsync / __mark_inode_dirty exfat 3 1050d 1114d 0/26 auto-closed as invalid on 2021/06/17 13:50
upstream KCSAN: data-race in __generic_file_fsync / __mark_inode_dirty (3) exfat 1 766d 766d 0/26 auto-closed as invalid on 2022/03/28 09:07

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

write to 0xffff88810b3344b0 of 8 bytes by task 17962 on cpu 0:
 __mark_inode_dirty+0x23d/0x730 fs/fs-writeback.c:2439
 fat_update_time+0x27f/0x2b0 fs/fat/misc.c:359
 inode_update_time fs/inode.c:1871 [inline]
 touch_atime+0x16e/0x2e0 fs/inode.c:1944
 file_accessed include/linux/fs.h:2529 [inline]
 filemap_read+0x149e/0x1510 mm/filemap.c:2743
 generic_file_read_iter+0x72/0x320 mm/filemap.c:2821
 call_read_iter include/linux/fs.h:2193 [inline]
 generic_file_splice_read+0xde/0x2b0 fs/splice.c:309
 do_splice_to fs/splice.c:793 [inline]
 splice_direct_to_actor+0x26c/0x620 fs/splice.c:865
 do_splice_direct+0xfb/0x180 fs/splice.c:974
 do_sendfile+0x3bf/0x910 fs/read_write.c:1255
 __do_sys_sendfile64 fs/read_write.c:1323 [inline]
 __se_sys_sendfile64 fs/read_write.c:1309 [inline]
 __x64_sys_sendfile64+0x10c/0x150 fs/read_write.c:1309
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

read to 0xffff88810b3344b0 of 8 bytes by task 17949 on cpu 1:
 __generic_file_fsync+0x91/0x140 fs/libfs.c:1122
 fat_file_fsync+0x48/0x100 fs/fat/file.c:191
 vfs_fsync_range+0x107/0x120 fs/sync.c:188
 generic_write_sync include/linux/fs.h:2891 [inline]
 generic_file_write_iter+0x18d/0x1c0 mm/filemap.c:3917
 do_iter_write+0x494/0x750 fs/read_write.c:861
 vfs_iter_write+0x4c/0x70 fs/read_write.c:902
 iter_file_splice_write+0x44a/0x7c0 fs/splice.c:686
 do_splice_from fs/splice.c:764 [inline]
 direct_splice_actor+0x80/0xa0 fs/splice.c:931
 splice_direct_to_actor+0x305/0x620 fs/splice.c:886
 do_splice_direct+0xfb/0x180 fs/splice.c:974
 do_sendfile+0x3bf/0x910 fs/read_write.c:1255
 __do_sys_sendfile64 fs/read_write.c:1323 [inline]
 __se_sys_sendfile64 fs/read_write.c:1309 [inline]
 __x64_sys_sendfile64+0x10c/0x150 fs/read_write.c:1309
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

value changed: 0x0000000000000000 -> 0x0000000000000001

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 17949 Comm: syz-executor.2 Not tainted 6.1.0-rc7-syzkaller-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
==================================================================
==================================================================
BUG: KCSAN: data-race in xas_find_marked / xas_set_mark

write to 0xffff88810b33459c of 4 bytes by task 17962 on cpu 0:
 xa_mark_set lib/xarray.c:69 [inline]
 xas_set_mark+0x11e/0x130 lib/xarray.c:894
 __folio_start_writeback+0x211/0x4a0 mm/page-writeback.c:2979
 set_page_writeback+0x3d/0xe0 mm/folio-compat.c:56
 __mpage_writepage+0x9c5/0xda0 fs/mpage.c:609
 write_cache_pages+0x443/0xa30 mm/page-writeback.c:2360
 mpage_writepages+0x6e/0xe0 fs/mpage.c:664
 fat_writepages+0x20/0x30 fs/fat/inode.c:205
 do_writepages+0x1db/0x350 mm/page-writeback.c:2469
 filemap_fdatawrite_wbc+0xd6/0xf0 mm/filemap.c:388
 __filemap_fdatawrite_range mm/filemap.c:421 [inline]
 file_write_and_wait_range+0xd6/0x170 mm/filemap.c:774
 __generic_file_fsync+0x48/0x140 fs/libfs.c:1116
 fat_file_fsync+0x48/0x100 fs/fat/file.c:191
 vfs_fsync_range+0x107/0x120 fs/sync.c:188
 generic_write_sync include/linux/fs.h:2891 [inline]
 generic_file_write_iter+0x18d/0x1c0 mm/filemap.c:3917
 do_iter_write+0x494/0x750 fs/read_write.c:861
 vfs_iter_write+0x4c/0x70 fs/read_write.c:902
 iter_file_splice_write+0x44a/0x7c0 fs/splice.c:686
 do_splice_from fs/splice.c:764 [inline]
 direct_splice_actor+0x80/0xa0 fs/splice.c:931
 splice_direct_to_actor+0x305/0x620 fs/splice.c:886
 do_splice_direct+0xfb/0x180 fs/splice.c:974
 do_sendfile+0x3bf/0x910 fs/read_write.c:1255
 __do_sys_sendfile64 fs/read_write.c:1323 [inline]
 __se_sys_sendfile64 fs/read_write.c:1309 [inline]
 __x64_sys_sendfile64+0x10c/0x150 fs/read_write.c:1309
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

read to 0xffff88810b33459c of 4 bytes by task 17949 on cpu 1:
 xa_marked include/linux/xarray.h:420 [inline]
 xas_find_marked+0x652/0x6a0 lib/xarray.c:1329
 find_get_entry mm/filemap.c:2005 [inline]
 find_get_pages_range_tag+0x102/0x420 mm/filemap.c:2292
 pagevec_lookup_range_tag+0x37/0x50 mm/swap.c:1105
 write_cache_pages+0x1fe/0xa30 mm/page-writeback.c:2317
 mpage_writepages+0x6e/0xe0 fs/mpage.c:664
 fat_writepages+0x20/0x30 fs/fat/inode.c:205
 do_writepages+0x1db/0x350 mm/page-writeback.c:2469
 filemap_fdatawrite_wbc+0xd6/0xf0 mm/filemap.c:388
 __filemap_fdatawrite_range mm/filemap.c:421 [inline]
 file_write_and_wait_range+0xd6/0x170 mm/filemap.c:774
 __generic_file_fsync+0x48/0x140 fs/libfs.c:1116
 fat_file_fsync+0x48/0x100 fs/fat/file.c:191
 vfs_fsync_range+0x107/0x120 fs/sync.c:188
 generic_write_sync include/linux/fs.h:2891 [inline]
 generic_file_write_iter+0x18d/0x1c0 mm/filemap.c:3917
 do_iter_write+0x494/0x750 fs/read_write.c:861
 vfs_iter_write+0x4c/0x70 fs/read_write.c:902
 iter_file_splice_write+0x44a/0x7c0 fs/splice.c:686
 do_splice_from fs/splice.c:764 [inline]
 direct_splice_actor+0x80/0xa0 fs/splice.c:931
 splice_direct_to_actor+0x305/0x620 fs/splice.c:886
 do_splice_direct+0xfb/0x180 fs/splice.c:974
 do_sendfile+0x3bf/0x910 fs/read_write.c:1255
 __do_sys_sendfile64 fs/read_write.c:1323 [inline]
 __se_sys_sendfile64 fs/read_write.c:1309 [inline]
 __x64_sys_sendfile64+0x10c/0x150 fs/read_write.c:1309
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

value changed: 0x28000021 -> 0x10000021

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 17949 Comm: syz-executor.2 Not tainted 6.1.0-rc7-syzkaller-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/11/28 18:39 upstream b7b275e60bcd 247de55b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __generic_file_fsync / __mark_inode_dirty
* Struck through repros no longer work on HEAD.