================================================================== BUG: KCSAN: data-race in __mod_memcg_lruvec_state / mem_cgroup_css_rstat_flush write to 0xffffe8ffffd44480 of 4 bytes by task 18061 on cpu 0: mem_cgroup_css_rstat_flush+0x4ea/0x540 mm/memcontrol.c:5848 cgroup_rstat_flush_locked+0x848/0x980 kernel/cgroup/rstat.c:245 cgroup_rstat_flush+0x26/0x40 kernel/cgroup/rstat.c:277 do_flush_stats mm/memcontrol.c:745 [inline] mem_cgroup_flush_stats+0xb2/0xc0 mm/memcontrol.c:766 prepare_scan_control mm/vmscan.c:2234 [inline] shrink_node+0x2f2/0x15a0 mm/vmscan.c:5906 shrink_zones mm/vmscan.c:6152 [inline] do_try_to_free_pages+0x3cc/0xca0 mm/vmscan.c:6214 try_to_free_mem_cgroup_pages+0x1eb/0x4e0 mm/vmscan.c:6529 try_charge_memcg+0x279/0xd10 mm/memcontrol.c:2783 obj_cgroup_charge_pages+0xbd/0x1d0 mm/memcontrol.c:3302 __memcg_kmem_charge_page+0x9d/0x170 mm/memcontrol.c:3328 __alloc_pages+0x1bc/0x360 mm/page_alloc.c:4592 alloc_pages_mpol+0xb1/0x1e0 mm/mempolicy.c:2264 alloc_pages+0xe1/0x100 mm/mempolicy.c:2335 vm_area_alloc_pages mm/vmalloc.c:3561 [inline] __vmalloc_area_node mm/vmalloc.c:3637 [inline] __vmalloc_node_range+0x6f2/0xee0 mm/vmalloc.c:3818 kvmalloc_node+0x121/0x170 mm/util.c:659 kvmalloc include/linux/slab.h:766 [inline] xt_alloc_table_info+0x3d/0x80 net/netfilter/x_tables.c:1193 do_replace net/ipv4/netfilter/arp_tables.c:972 [inline] do_arpt_set_ctl+0x665/0xa80 net/ipv4/netfilter/arp_tables.c:1425 nf_setsockopt+0x195/0x1b0 net/netfilter/nf_sockopt.c:101 ip_setsockopt+0xea/0x100 net/ipv4/ip_sockglue.c:1424 udp_setsockopt+0x95/0xb0 net/ipv4/udp.c:2790 sock_common_setsockopt+0x64/0x80 net/core/sock.c:3727 do_sock_setsockopt net/socket.c:2311 [inline] __sys_setsockopt+0x1d8/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0x66/0x80 net/socket.c:2340 x64_sys_call+0x1159/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:55 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f read-write to 0xffffe8ffffd44480 of 4 bytes by task 18077 on cpu 1: memcg_rstat_updated mm/memcontrol.c:725 [inline] __mod_memcg_lruvec_state+0x13a/0x1a0 mm/memcontrol.c:875 __mod_lruvec_state+0x3c/0x50 mm/memcontrol.c:897 __update_lru_size include/linux/mm_inline.h:47 [inline] update_lru_size include/linux/mm_inline.h:56 [inline] lruvec_add_folio include/linux/mm_inline.h:326 [inline] lru_add_fn+0x289/0x430 mm/swap.c:215 folio_batch_move_lru+0x20c/0x2c0 mm/swap.c:233 folio_batch_add_and_move mm/swap.c:249 [inline] folio_add_lru+0xd4/0x130 mm/swap.c:532 filemap_add_folio+0x103/0x160 mm/filemap.c:962 __filemap_get_folio+0x2f1/0x5b0 mm/filemap.c:1934 ext4_da_write_begin+0x2ef/0x550 fs/ext4/inode.c:2885 generic_perform_write+0x1d5/0x410 mm/filemap.c:3974 ext4_buffered_write_iter+0x1f6/0x380 fs/ext4/file.c:299 ext4_file_write_iter+0x29f/0xe30 call_write_iter include/linux/fs.h:2110 [inline] new_sync_write fs/read_write.c:497 [inline] vfs_write+0x771/0x8e0 fs/read_write.c:590 ksys_write+0xeb/0x1b0 fs/read_write.c:643 __do_sys_write fs/read_write.c:655 [inline] __se_sys_write fs/read_write.c:652 [inline] __x64_sys_write+0x42/0x50 fs/read_write.c:652 x64_sys_call+0x27b7/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:2 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x0000001f -> 0x00000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 18077 Comm: syz-executor.0 Tainted: G W 6.9.0-rc3-syzkaller-00073-ge8c39d0f57f3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 ==================================================================