KCSAN: data-race in xas_find_marked / xas_init_marks (7)

Status: moderation: reported on 2026/06/22 03:30
Subsystems: mm ext4
Labels: race:benign prio:low
[Documentation on labels]
Reported-by: syzbot+20c072318ddd5ab4b481@syzkaller.appspotmail.com
First crash: 49d, last: 37d
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
b4b94d82 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ❌ VMHostTrigger: ❌ KCSAN: data-race in xas_find_marked / xas_init_marks (7) 2026/06/24 00:02 2026/06/24 00:02 2026/06/24 00:44 e30e5c89
0fbb1a3e assessment-kcsan Benign: ✅ KCSAN: data-race in xas_find_marked / xas_init_marks (7) 2026/06/22 03:32 2026/06/22 03:32 2026/06/22 04:14 43bfcdb0
Similar bugs (6)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in xas_find_marked / xas_init_marks (6) ext4 mm prio:high 6 19 114d 338d 0/29 auto-obsoleted due to no activity on 2026/06/12 21:01
upstream KCSAN: data-race in xas_find_marked / xas_init_marks (3) ext4 6 1 716d 716d 0/29 auto-obsoleted due to no activity on 2024/09/27 13:38
upstream KCSAN: data-race in xas_find_marked / xas_init_marks (2) ext4 6 820 748d 1895d 0/29 auto-obsoleted due to no activity on 2024/08/19 12:59
upstream KCSAN: data-race in xas_find_marked / xas_init_marks (5) mm 6 7 401d 508d 0/29 auto-obsoleted due to no activity on 2025/08/29 12:06
upstream KCSAN: data-race in xas_find_marked / xas_init_marks (4) ext4 exfat 6 5 639d 664d 0/29 auto-obsoleted due to no activity on 2025/01/03 11:34
upstream KCSAN: data-race in xas_find_marked / xas_init_marks ext4 6 11 2117d 2208d 0/29 auto-closed as invalid on 2020/11/26 04:55

Sample crash report:
==================================================================
BUG: KCSAN: data-race in xas_find_marked / xas_init_marks

read-write to 0xffff88811ac78da0 of 8 bytes by task 19653 on cpu 1:
 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]
 xas_init_marks+0x18a/0x320 lib/xarray.c:955
 page_cache_delete mm/filemap.c:143 [inline]
 __filemap_remove_folio+0x1f9/0x2e0 mm/filemap.c:227
 __remove_mapping+0x396/0x4c0 mm/vmscan.c:761
 shrink_folio_list+0x17e3/0x2780 mm/vmscan.c:1497
 evict_folios+0x20e2/0x2d80 mm/vmscan.c:4835
 try_to_shrink_lruvec+0x7c5/0xb10 mm/vmscan.c:4983
 lru_gen_shrink_lruvec mm/vmscan.c:5128 [inline]
 shrink_lruvec+0x25e/0x1b60 mm/vmscan.c:5888
 shrink_node_memcgs mm/vmscan.c:6127 [inline]
 shrink_node+0x69d/0x20f0 mm/vmscan.c:6171
 shrink_zones mm/vmscan.c:6410 [inline]
 do_try_to_free_pages+0x408/0xc90 mm/vmscan.c:6472
 try_to_free_mem_cgroup_pages+0x201/0x420 mm/vmscan.c:6794
 try_charge_memcg+0x375/0xa00 mm/memcontrol.c:2655
 obj_cgroup_charge_pages mm/memcontrol.c:3097 [inline]
 __memcg_kmem_charge_page+0x199/0x3a0 mm/memcontrol.c:3141
 __alloc_frozen_pages_noprof+0x18a/0x350 mm/page_alloc.c:5321
 alloc_pages_mpol+0xa9/0x1d0 mm/mempolicy.c:2490
 alloc_frozen_pages_noprof mm/mempolicy.c:2561 [inline]
 alloc_pages_noprof+0x8f/0x140 mm/mempolicy.c:2581
 vm_area_alloc_pages mm/vmalloc.c:3742 [inline]
 __vmalloc_area_node mm/vmalloc.c:3892 [inline]
 __vmalloc_node_range_noprof+0xae9/0x11e0 mm/vmalloc.c:4082
 __kvmalloc_node_noprof+0x3a0/0x590 mm/slub.c:6961
 futex_hash_allocate+0x192/0x920 kernel/futex/core.c:1823
 futex_hash_prctl+0xd8/0xf0 kernel/futex/core.c:1995
 __do_sys_prctl kernel/sys.c:2885 [inline]
 __se_sys_prctl+0x4f4/0x13b0 kernel/sys.c:2534
 __x64_sys_prctl+0x67/0x80 kernel/sys.c:2534
 x64_sys_call+0x2533/0x3020 arch/x86/include/generated/asm/syscalls_64.h:158
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88811ac78da0 of 8 bytes by task 19654 on cpu 0:
 xas_find_chunk include/linux/xarray.h:1752 [inline]
 xas_find_marked+0x211/0x650 lib/xarray.c:1510
 find_get_entry mm/filemap.c:2081 [inline]
 filemap_get_folios_tag+0xf7/0x400 mm/filemap.c:2348
 mpage_prepare_extent_to_map+0x2f8/0xc00 fs/ext4/inode.c:2656
 ext4_do_writepages+0x6ec/0x2720 fs/ext4/inode.c:2895
 ext4_writepages+0x18f/0x300 fs/ext4/inode.c:3043
 do_writepages+0x1b9/0x300 mm/page-writeback.c:2571
 filemap_writeback mm/filemap.c:387 [inline]
 filemap_fdatawrite_range mm/filemap.c:412 [inline]
 file_write_and_wait_range+0x178/0x2f0 mm/filemap.c:786
 mmb_fsync_noflush+0x48/0x140 fs/buffer.c:652
 ext4_fsync_nojournal fs/ext4/fsync.c:92 [inline]
 ext4_sync_file+0x1f2/0x6d0 fs/ext4/fsync.c:160
 vfs_fsync_range+0xc5/0xe0 fs/sync.c:186
 generic_write_sync include/linux/fs.h:2661 [inline]
 ext4_buffered_write_iter+0x426/0x480 fs/ext4/file.c:322
 ext4_file_write_iter+0x38e/0xef0 fs/ext4/file.c:-1
 new_sync_write fs/read_write.c:595 [inline]
 vfs_write+0x57d/0x990 fs/read_write.c:687
 ksys_write+0xdc/0x1a0 fs/read_write.c:739
 __do_sys_write fs/read_write.c:750 [inline]
 __se_sys_write fs/read_write.c:747 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:747
 x64_sys_call+0x27e1/0x3020 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffffffc07fffffff -> 0xfffffe007fffffff

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 19654 Comm: syz.6.19276 Tainted: G        W           syzkaller #0 PREEMPT(lazy) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/07/03 21:12 upstream 71dfdfb0209b fcece630 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in xas_find_marked / xas_init_marks
2026/06/22 03:30 upstream 8cd8cf7a07e5 43bfcdb0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in xas_find_marked / xas_init_marks
* Struck through repros no longer work on HEAD.