================================================================== BUG: KCSAN: data-race in xas_clear_mark / xas_find_marked read-write to 0xffff888125678b48 of 8 bytes by task 16306 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+0x90/0x180 lib/xarray.c:914 __folio_start_writeback+0x2e8/0x450 mm/page-writeback.c:3078 __block_write_full_folio+0x506/0x8d0 fs/buffer.c:1887 block_write_full_folio+0x293/0x2b0 write_cache_pages+0x62/0x100 mm/page-writeback.c:2569 blkdev_writepages+0x59/0x90 block/fops.c:429 do_writepages+0x1d8/0x480 mm/page-writeback.c:2612 filemap_fdatawrite_wbc+0xdb/0x100 mm/filemap.c:397 __filemap_fdatawrite_range mm/filemap.c:430 [inline] __filemap_fdatawrite mm/filemap.c:436 [inline] filemap_flush+0x61/0x90 mm/filemap.c:463 sync_blockdev_nowait+0x36/0x50 block/bdev.c:195 sync_filesystem+0xe3/0x190 fs/sync.c:60 generic_shutdown_super+0x42/0x210 fs/super.c:620 kill_block_super+0x2a/0x70 fs/super.c:1675 deactivate_locked_super+0x7d/0x1c0 fs/super.c:472 deactivate_super+0x9f/0xb0 fs/super.c:505 cleanup_mnt+0x272/0x2e0 fs/namespace.c:1267 __cleanup_mnt+0x19/0x20 fs/namespace.c:1274 task_work_run+0x13a/0x1a0 kernel/task_work.c:180 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0xbe/0x130 kernel/entry/common.c:218 do_syscall_64+0xda/0x1d0 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff888125678b48 of 8 bytes by task 49 on cpu 1: xas_find_chunk include/linux/xarray.h:1723 [inline] xas_find_marked+0x216/0x660 lib/xarray.c:1354 find_get_entry+0x5d/0x290 mm/filemap.c:1968 filemap_get_folios_tag+0x136/0x210 mm/filemap.c:2218 writeback_get_folio mm/page-writeback.c:2419 [inline] writeback_iter+0x4b0/0x830 mm/page-writeback.c:2520 write_cache_pages+0x4b/0x100 mm/page-writeback.c:2568 blkdev_writepages+0x59/0x90 block/fops.c:429 do_writepages+0x1d8/0x480 mm/page-writeback.c:2612 __writeback_single_inode+0x91/0x870 fs/fs-writeback.c:1650 writeback_sb_inodes+0x4de/0xaa0 fs/fs-writeback.c:1941 __writeback_inodes_wb+0x9a/0x1a0 fs/fs-writeback.c:2012 wb_writeback+0x264/0x6f0 fs/fs-writeback.c:2119 wb_check_background_flush fs/fs-writeback.c:2189 [inline] wb_do_writeback fs/fs-writeback.c:2277 [inline] wb_workfn+0x67f/0x940 fs/fs-writeback.c:2304 process_one_work kernel/workqueue.c:3254 [inline] process_scheduled_works+0x465/0x990 kernel/workqueue.c:3335 worker_thread+0x526/0x730 kernel/workqueue.c:3416 kthread+0x1d1/0x210 kernel/kthread.c:388 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 value changed: 0x0000000000010001 -> 0x0000000000000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 49 Comm: kworker/u8:3 Tainted: G W 6.9.0-rc4-syzkaller-00173-g3cdb45594619 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Workqueue: writeback wb_workfn (flush-7:1) ================================================================== netdevsim netdevsim1 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim1 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim1 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim1 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): Released all slaves hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode batman_adv: batadv0: Interface deactivated: batadv_slave_0 batman_adv: batadv0: Removing interface: batadv_slave_0 batman_adv: batadv0: Interface deactivated: batadv_slave_1 batman_adv: batadv0: Removing interface: batadv_slave_1 veth1_macvtap: left promiscuous mode veth0_macvtap: left promiscuous mode veth1_vlan: left promiscuous mode veth0_vlan: left promiscuous mode team0 (unregistering): Port device team_slave_1 removed team0 (unregistering): Port device team_slave_0 removed