syzbot


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

Status: moderation: reported on 2025/03/20 03:45
Subsystems: ext4
[Documentation on labels]
Reported-by: syzbot+f8fb17c006cf6a2bbbb1@syzkaller.appspotmail.com
First crash: 58d, last: 5d20h
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in xas_find_marked / xas_init_marks (3) ext4 1 266d 266d 0/28 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 820 298d 1445d 0/28 auto-obsoleted due to no activity on 2024/08/19 12:59
upstream KCSAN: data-race in xas_find_marked / xas_init_marks (4) exfat ext4 5 189d 214d 0/28 auto-obsoleted due to no activity on 2025/01/03 11:34
upstream KCSAN: data-race in xas_find_marked / xas_init_marks ext4 11 1668d 1758d 0/28 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 0xffff888106ecd6c0 of 8 bytes by task 6279 on cpu 1:
 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]
 xas_init_marks+0x18a/0x320 lib/xarray.c:955
 page_cache_delete mm/filemap.c:142 [inline]
 __filemap_remove_folio+0x19d/0x2a0 mm/filemap.c:224
 __remove_mapping+0x338/0x460 mm/vmscan.c:813
 shrink_folio_list+0x1888/0x2670 mm/vmscan.c:1536
 evict_folios+0x2888/0x33d0 mm/vmscan.c:4698
 try_to_shrink_lruvec+0x45a/0x7e0 mm/vmscan.c:4859
 lru_gen_shrink_lruvec mm/vmscan.c:5008 [inline]
 shrink_lruvec+0x22e/0x1a40 mm/vmscan.c:5753
 shrink_node_memcgs mm/vmscan.c:5989 [inline]
 shrink_node+0x686/0x2110 mm/vmscan.c:6030
 shrink_zones mm/vmscan.c:6274 [inline]
 do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6336
 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6664
 try_charge_memcg+0x3ab/0x870 mm/memcontrol.c:2304
 obj_cgroup_charge_pages+0xb7/0x1a0 mm/memcontrol.c:2695
 __memcg_kmem_charge_page+0x9f/0x170 mm/memcontrol.c:2739
 __alloc_frozen_pages_noprof+0x188/0x360 mm/page_alloc.c:4987
 alloc_pages_mpol+0xb3/0x250 mm/mempolicy.c:2301
 alloc_frozen_pages_noprof mm/mempolicy.c:2372 [inline]
 alloc_pages_noprof+0x90/0x130 mm/mempolicy.c:2392
 vm_area_alloc_pages mm/vmalloc.c:3592 [inline]
 __vmalloc_area_node mm/vmalloc.c:3670 [inline]
 __vmalloc_node_range_noprof+0x6a4/0xdf0 mm/vmalloc.c:3845
 __kvmalloc_node_noprof+0x2f3/0x4d0 mm/slub.c:5034
 ip_set_alloc+0x1f/0x30 net/netfilter/ipset/ip_set_core.c:261
 hash_netiface_create+0x282/0x740 net/netfilter/ipset/ip_set_hash_gen.h:1568
 ip_set_create+0x3c9/0x960 net/netfilter/ipset/ip_set_core.c:1109
 nfnetlink_rcv_msg+0x4c3/0x590 net/netfilter/nfnetlink.c:302
 netlink_rcv_skb+0x120/0x220 net/netlink/af_netlink.c:2534
 nfnetlink_rcv+0x16b/0x1690 net/netfilter/nfnetlink.c:667
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x59e/0x670 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x58b/0x6b0 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x142/0x180 net/socket.c:727
 ____sys_sendmsg+0x31e/0x4e0 net/socket.c:2566
 ___sys_sendmsg+0x17b/0x1d0 net/socket.c:2620
 __sys_sendmsg net/socket.c:2652 [inline]
 __do_sys_sendmsg net/socket.c:2657 [inline]
 __se_sys_sendmsg net/socket.c:2655 [inline]
 __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2655
 x64_sys_call+0x2999/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:47
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888106ecd6c0 of 8 bytes by task 6298 on cpu 0:
 xas_find_chunk include/linux/xarray.h:1746 [inline]
 xas_find_marked+0x218/0x620 lib/xarray.c:1510
 find_get_entry+0x5d/0x380 mm/filemap.c:2027
 filemap_get_folios_tag+0x13b/0x210 mm/filemap.c:2295
 mpage_prepare_extent_to_map+0x330/0xb80 fs/ext4/inode.c:2453
 ext4_do_writepages+0x6eb/0x2270 fs/ext4/inode.c:2692
 ext4_writepages+0x176/0x300 fs/ext4/inode.c:2829
 do_writepages+0x1d2/0x480 mm/page-writeback.c:2656
 filemap_fdatawrite_wbc mm/filemap.c:386 [inline]
 __filemap_fdatawrite_range mm/filemap.c:419 [inline]
 file_write_and_wait_range+0x156/0x2c0 mm/filemap.c:794
 generic_buffers_fsync_noflush+0x45/0x120 fs/buffer.c:611
 ext4_fsync_nojournal fs/ext4/fsync.c:88 [inline]
 ext4_sync_file+0x1ab/0x690 fs/ext4/fsync.c:147
 vfs_fsync_range+0x10a/0x130 fs/sync.c:187
 generic_write_sync include/linux/fs.h:2976 [inline]
 ext4_buffered_write_iter+0x34f/0x3c0 fs/ext4/file.c:305
 ext4_dio_write_iter fs/ext4/file.c:608 [inline]
 ext4_file_write_iter+0xdbf/0xf00 fs/ext4/file.c:716
 do_iter_readv_writev+0x41e/0x4c0 fs/read_write.c:-1
 vfs_writev+0x2c9/0x870 fs/read_write.c:1055
 do_writev+0xe7/0x210 fs/read_write.c:1101
 __do_sys_writev fs/read_write.c:1169 [inline]
 __se_sys_writev fs/read_write.c:1166 [inline]
 __x64_sys_writev+0x45/0x50 fs/read_write.c:1166
 x64_sys_call+0x2006/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:21
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffffffffffff0000 -> 0xfffffff003ff0000

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 6298 Comm: syz.8.9792 Not tainted 6.15.0-rc5-syzkaller-00300-g3ce9925823c7 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/11 10:00 upstream 3ce9925823c7 77908e5f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in xas_find_marked / xas_init_marks
2025/05/11 09:49 upstream 3ce9925823c7 77908e5f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in xas_find_marked / xas_init_marks
2025/05/03 21:34 upstream 2a239ffbebb5 b0714e37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in xas_find_marked / xas_init_marks
2025/03/20 03:45 upstream a7f2e10ecd8f e20d7b13 .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.