================================================================== BUG: KCSAN: data-race in drain_all_stock / try_charge_memcg write to 0xffff888237c2a3c0 of 4 bytes by task 24577 on cpu 0: consume_stock mm/memcontrol.c:2297 [inline] try_charge_memcg+0xb49/0xd30 mm/memcontrol.c:2703 try_charge mm/memcontrol.c:2884 [inline] charge_memcg mm/memcontrol.c:7210 [inline] __mem_cgroup_charge+0x63/0xf0 mm/memcontrol.c:7225 mem_cgroup_charge include/linux/memcontrol.h:684 [inline] shmem_alloc_and_add_folio mm/shmem.c:1662 [inline] shmem_get_folio_gfp+0x44e/0xb40 mm/shmem.c:2037 shmem_get_folio mm/shmem.c:2119 [inline] shmem_write_begin+0xa0/0x1b0 mm/shmem.c:2702 generic_perform_write+0x1c9/0x410 mm/filemap.c:3918 shmem_file_write_iter+0xc8/0xe0 mm/shmem.c:2878 call_write_iter include/linux/fs.h:2020 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x48a/0x790 fs/read_write.c:584 ksys_write+0xeb/0x1a0 fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __x64_sys_write+0x42/0x50 fs/read_write.c:646 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b read to 0xffff888237c2a3c0 of 4 bytes by task 24542 on cpu 1: drain_all_stock+0xd3/0x2d0 mm/memcontrol.c:2405 try_charge_memcg+0x6c5/0xd30 mm/memcontrol.c:2750 obj_cgroup_charge_pages+0xab/0x130 mm/memcontrol.c:3255 __memcg_kmem_charge_page+0x9c/0x170 mm/memcontrol.c:3281 __alloc_pages+0x1bb/0x340 mm/page_alloc.c:4585 alloc_pages_mpol+0xb1/0x1d0 mm/mempolicy.c:2133 alloc_pages+0xe0/0x100 mm/mempolicy.c:2204 vm_area_alloc_pages mm/vmalloc.c:3063 [inline] __vmalloc_area_node mm/vmalloc.c:3139 [inline] __vmalloc_node_range+0x6d2/0xea0 mm/vmalloc.c:3320 kvmalloc_node+0x121/0x160 mm/util.c:642 kvmalloc include/linux/slab.h:738 [inline] xt_alloc_table_info+0x3d/0x80 net/netfilter/x_tables.c:1192 do_replace net/ipv4/netfilter/arp_tables.c:970 [inline] do_arpt_set_ctl+0x634/0x13b0 net/ipv4/netfilter/arp_tables.c:1421 nf_setsockopt+0x18d/0x1b0 net/netfilter/nf_sockopt.c:101 ip_setsockopt+0xe6/0x100 net/ipv4/ip_sockglue.c:1426 tcp_setsockopt+0x90/0xa0 net/ipv4/tcp.c:3724 sock_common_setsockopt+0x61/0x70 net/core/sock.c:3711 do_sock_setsockopt net/socket.c:2311 [inline] __sys_setsockopt+0x1d4/0x240 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 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b value changed: 0x00000037 -> 0x00000034 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 24542 Comm: syz-executor.2 Not tainted 6.7.0-rc4-syzkaller-00358-gf2e8a57ee903 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023 ==================================================================