================================================================== BUG: KCSAN: data-race in __xa_clear_mark / xas_find_marked read-write to 0xffff88810b887900 of 8 bytes by interrupt on cpu 0: 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] __xa_clear_mark+0xf5/0x1e0 lib/xarray.c:2097 __folio_end_writeback+0x177/0x470 mm/page-writeback.c:3024 folio_end_writeback+0x71/0x3d0 mm/filemap.c:1660 end_buffer_async_write+0x156/0x1f0 fs/buffer.c:419 end_bio_bh_io_sync+0x79/0xa0 fs/buffer.c:2783 bio_endio+0x374/0x410 block/bio.c:1645 blk_update_request+0x336/0x730 block/blk-mq.c:987 blk_mq_end_request+0x26/0x50 block/blk-mq.c:1149 lo_complete_rq+0x98/0x140 drivers/block/loop.c:304 blk_complete_reqs block/blk-mq.c:1224 [inline] blk_done_softirq+0x77/0xb0 block/blk-mq.c:1229 handle_softirqs+0xba/0x290 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] invoke_softirq kernel/softirq.c:453 [inline] __irq_exit_rcu+0x3a/0xc0 kernel/softirq.c:680 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] sysvec_apic_timer_interrupt+0x74/0x80 arch/x86/kernel/apic/apic.c:1050 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 kcsan_setup_watchpoint+0x415/0x430 kernel/kcsan/core.c:705 shmem_get_folio_gfp+0xa1a/0xd60 mm/shmem.c:2594 shmem_get_folio mm/shmem.c:2638 [inline] shmem_write_begin+0xa8/0x190 mm/shmem.c:3288 generic_perform_write+0x184/0x490 mm/filemap.c:4112 shmem_file_write_iter+0xc5/0xf0 mm/shmem.c:3463 lo_rw_aio+0x6ed/0x7a0 include/linux/fs.h:-1 do_req_filebacked drivers/block/loop.c:-1 [inline] loop_handle_cmd drivers/block/loop.c:1890 [inline] loop_process_work+0x52d/0xa60 drivers/block/loop.c:1925 loop_workfn+0x31/0x40 drivers/block/loop.c:1949 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3321 worker_thread+0x582/0x770 kernel/workqueue.c:3402 kthread+0x486/0x510 kernel/kthread.c:464 ret_from_fork+0xda/0x150 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffff88810b887900 of 8 bytes by task 8003 on cpu 1: xas_find_chunk include/linux/xarray.h:1752 [inline] xas_find_marked+0x218/0x620 lib/xarray.c:1510 find_get_entry+0x5d/0x380 mm/filemap.c:2038 filemap_get_folios_tag+0x13b/0x210 mm/filemap.c:2306 __filemap_fdatawait_range mm/filemap.c:530 [inline] filemap_write_and_wait_range+0x1d3/0x340 mm/filemap.c:700 filemap_write_and_wait include/linux/pagemap.h:68 [inline] sync_blockdev block/bdev.c:260 [inline] bdev_release+0xeb/0x3d0 block/bdev.c:1126 blkdev_release+0x15/0x20 block/fops.c:684 __fput+0x298/0x650 fs/file_table.c:465 ____fput+0x1c/0x30 fs/file_table.c:493 task_work_run+0x12e/0x1a0 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xe4/0x100 kernel/entry/common.c:114 exit_to_user_mode_prepare include/linux/entry-common.h:330 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:414 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:449 [inline] do_syscall_64+0x1d6/0x200 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0xfffffffffffffe00 -> 0xfffffffffffff000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 8003 Comm: syz.6.1862 Not tainted 6.16.0-rc1-syzkaller-00203-g4774cfe3543a #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 ==================================================================