================================================================== BUG: KCSAN: data-race in __xa_clear_mark / xas_find_marked read-write to 0xffff888106f77470 of 8 bytes by interrupt on cpu 0: instrument_read_write include/linux/instrumented.h:56 [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:2103 __folio_end_writeback+0xe7/0x530 mm/page-writeback.c:2965 folio_end_writeback_no_dropbehind+0x6d/0x200 mm/filemap.c:1671 folio_end_writeback+0x72/0x110 mm/filemap.c:1710 bh_end_async_write+0x18b/0x230 fs/buffer.c:430 bio_endio+0x390/0x570 block/bio.c:1908 blk_update_request+0x33a/0x710 block/blk-mq.c:1036 blk_mq_end_request+0x26/0x50 block/blk-mq.c:1167 lo_complete_rq+0x98/0x130 drivers/block/loop.c:315 blk_complete_reqs block/blk-mq.c:1242 [inline] blk_done_softirq+0x77/0xb0 block/blk-mq.c:1247 handle_softirqs+0x109/0x310 kernel/softirq.c:669 __do_softirq kernel/softirq.c:703 [inline] invoke_softirq kernel/softirq.c:542 [inline] __irq_exit_rcu+0x40/0xf0 kernel/softirq.c:786 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline] sysvec_apic_timer_interrupt+0x74/0x80 arch/x86/kernel/apic/apic.c:1062 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:123 [inline] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:220 [inline] _raw_spin_unlock_irq+0x12/0x30 kernel/locking/spinlock.c:229 spin_unlock_irq include/linux/spinlock.h:413 [inline] shmem_add_to_page_cache+0x3e6/0x5b0 mm/shmem.c:1147 shmem_alloc_and_add_folio mm/shmem.c:2205 [inline] shmem_get_folio_gfp+0x47b/0xb90 mm/shmem.c:2732 shmem_get_folio mm/shmem.c:2831 [inline] shmem_write_begin+0xfc/0x1f0 mm/shmem.c:3466 generic_perform_write+0x186/0x490 mm/filemap.c:4392 shmem_file_write_iter+0xc5/0xf0 mm/shmem.c:3641 lo_rw_aio+0x6d4/0x780 drivers/block/loop.c:-1 do_req_filebacked drivers/block/loop.c:-1 [inline] loop_handle_cmd drivers/block/loop.c:1847 [inline] loop_process_work+0x569/0xac0 drivers/block/loop.c:1882 loop_workfn+0x31/0x40 drivers/block/loop.c:1906 process_one_work kernel/workqueue.c:3495 [inline] process_scheduled_works+0x53f/0xa20 kernel/workqueue.c:3578 worker_thread+0x56c/0x770 kernel/workqueue.c:3659 kthread+0x223/0x270 kernel/kthread.c:436 ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffff888106f77470 of 8 bytes by task 9965 on cpu 1: xas_find_chunk include/linux/xarray.h:1752 [inline] xas_find_marked+0x211/0x650 lib/xarray.c:1513 find_get_entry mm/filemap.c:2105 [inline] filemap_get_folios_tag+0xf7/0x400 mm/filemap.c:2371 __filemap_fdatawait_range mm/filemap.c:523 [inline] filemap_write_and_wait_range+0x1f5/0x370 mm/filemap.c:692 filemap_write_and_wait include/linux/pagemap.h:64 [inline] sync_blockdev block/bdev.c:275 [inline] bdev_release+0xd4/0x3d0 block/bdev.c:1171 blkdev_release+0x15/0x20 block/fops.c:694 __fput+0x286/0x610 fs/file_table.c:512 fput_close_sync+0xad/0x190 fs/file_table.c:618 filp_close_sync+0x27/0x40 fs/open.c:1573 __range_close fs/file.c:919 [inline] __do_sys_close_range fs/file.c:1003 [inline] __se_sys_close_range+0x915/0xa00 fs/file.c:954 __x64_sys_close_range+0x43/0x50 fs/file.c:954 x64_sys_call+0x2198/0x2550 arch/x86/include/generated/asm/syscalls_64.h:437 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline] do_syscall_64+0x112/0x360 arch/x86/entry/syscall_64.c:84 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0xffffffffffffffc0 -> 0xffffffffffffff00 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 9965 Comm: syz.6.2342 Not tainted syzkaller #0 PREEMPT(lazy) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/07/2026 ==================================================================