================================================================== BUG: KCSAN: data-race in xas_find_marked / xas_init_marks read-write to 0xffff8881068246c8 of 8 bytes by task 2124 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:914 [inline] xas_init_marks+0x17e/0x320 lib/xarray.c:947 xas_store+0x216/0xc90 lib/xarray.c:809 page_cache_delete_batch mm/filemap.c:312 [inline] delete_from_page_cache_batch+0x33e/0x710 mm/filemap.c:334 truncate_inode_pages_range+0x1bd/0x6a0 mm/truncate.c:359 truncate_pagecache_range+0x84/0x90 mm/truncate.c:846 ext4_punch_hole+0x345/0x7b0 fs/ext4/inode.c:3992 ext4_fallocate+0x209/0x1190 fs/ext4/extents.c:4709 vfs_fallocate+0x378/0x3e0 fs/open.c:328 madvise_remove mm/madvise.c:1001 [inline] madvise_vma_behavior mm/madvise.c:1025 [inline] madvise_walk_vmas mm/madvise.c:1260 [inline] do_madvise+0x743/0x25e0 mm/madvise.c:1440 __do_sys_madvise mm/madvise.c:1453 [inline] __se_sys_madvise mm/madvise.c:1451 [inline] __x64_sys_madvise+0x60/0x70 mm/madvise.c:1451 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x59/0x120 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b read to 0xffff8881068246c8 of 8 bytes by task 17436 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:1961 filemap_get_folios_tag+0x136/0x210 mm/filemap.c:2211 mpage_prepare_extent_to_map+0x321/0xb70 fs/ext4/inode.c:2398 ext4_do_writepages+0xa20/0x2100 fs/ext4/inode.c:2683 ext4_writepages+0x15e/0x2e0 fs/ext4/inode.c:2774 do_writepages+0x1c2/0x340 mm/page-writeback.c:2553 __writeback_single_inode+0x91/0x860 fs/fs-writeback.c:1625 writeback_sb_inodes+0x514/0xad0 fs/fs-writeback.c:1916 wb_writeback+0x252/0x6e0 fs/fs-writeback.c:2092 wb_do_writeback fs/fs-writeback.c:2239 [inline] wb_workfn+0x1a8/0x8d0 fs/fs-writeback.c:2279 process_one_work kernel/workqueue.c:2633 [inline] process_scheduled_works+0x5b8/0xa30 kernel/workqueue.c:2706 worker_thread+0x525/0x730 kernel/workqueue.c:2787 kthread+0x1d7/0x210 kernel/kthread.c:388 ret_from_fork+0x48/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242 value changed: 0xfffffffffffff800 -> 0xfffffffffe000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 17436 Comm: kworker/u4:10 Tainted: G W 6.7.0-syzkaller-09928-g052d534373b7 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023 Workqueue: writeback wb_workfn (flush-8:0) ================================================================== netdevsim netdevsim5 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim5 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim5 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim5 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 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 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 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 bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): Released all slaves team0: left allmulticast mode team0: left promiscuous mode bridge0: port 1(team0) entered disabled state hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode bond1 (unregistering): Released all slaves bond0 (unregistering): Released all slaves