================================================================== BUG: KCSAN: data-race in xas_find_marked / xas_init_marks read-write to 0xffff888117378238 of 8 bytes by task 4902 on cpu 1: instrument_read_write include/linux/instrumented.h:55 [inline] __instrument_read_write_bitop include/asm-generic/bitops/instrumented-non-atomic.h:84 [inline] ___test_and_clear_bit include/asm-generic/bitops/instrumented-non-atomic.h:114 [inline] node_clear_mark lib/xarray.c:102 [inline] xas_clear_mark lib/xarray.c:922 [inline] xas_init_marks+0x18a/0x320 lib/xarray.c:955 page_cache_delete mm/filemap.c:142 [inline] __filemap_remove_folio+0x19d/0x2a0 mm/filemap.c:224 __remove_mapping+0x338/0x460 mm/vmscan.c:813 remove_mapping+0x22/0x90 mm/vmscan.c:846 mapping_evict_folio mm/truncate.c:310 [inline] mapping_try_invalidate+0x26a/0x3f0 mm/truncate.c:531 invalidate_mapping_pages+0x27/0x40 mm/truncate.c:573 generic_fadvise+0x419/0x430 mm/fadvise.c:168 vfs_fadvise mm/fadvise.c:185 [inline] ksys_fadvise64_64 mm/fadvise.c:198 [inline] __do_sys_fadvise64 mm/fadvise.c:210 [inline] __se_sys_fadvise64 mm/fadvise.c:208 [inline] __x64_sys_fadvise64+0xcb/0x110 mm/fadvise.c:208 x64_sys_call+0x2ee2/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:222 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff888117378238 of 8 bytes by task 4743 on cpu 0: xas_find_chunk include/linux/xarray.h:1746 [inline] xas_find_marked+0x218/0x620 lib/xarray.c:1510 find_get_entry+0x5d/0x380 mm/filemap.c:2027 filemap_get_folios_tag+0x13b/0x210 mm/filemap.c:2295 mpage_prepare_extent_to_map+0x330/0xb80 fs/ext4/inode.c:2453 ext4_do_writepages+0xa25/0x2270 fs/ext4/inode.c:2737 ext4_writepages+0x176/0x300 fs/ext4/inode.c:2829 do_writepages+0x1d2/0x480 mm/page-writeback.c:2656 __writeback_single_inode+0x80/0x7c0 fs/fs-writeback.c:1680 writeback_sb_inodes+0x480/0xa20 fs/fs-writeback.c:1976 wb_writeback+0x252/0x5c0 fs/fs-writeback.c:2156 wb_do_writeback fs/fs-writeback.c:2303 [inline] wb_workfn+0x194/0x910 fs/fs-writeback.c:2343 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4cb/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x486/0x510 kernel/kthread.c:464 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0xffffffffffffffe1 -> 0xfffffffffffffe01 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 4743 Comm: kworker/u8:24 Not tainted 6.15.0-rc4-syzkaller-00291-g2a239ffbebb5 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025 Workqueue: writeback wb_workfn (flush-7:4) ================================================================== EXT4-fs (loop4): Delayed block allocation failed for inode 18 at logical offset 20 with max blocks 1708 with error 28 EXT4-fs (loop4): This should not happen!! Data will be lost EXT4-fs (loop4): Total free blocks count 0 EXT4-fs (loop4): Free/Dirty block details EXT4-fs (loop4): free_blocks=0 EXT4-fs (loop4): dirty_blocks=1728 EXT4-fs (loop4): Block reservation details