================================================================== BUG: KCSAN: data-race in mem_cgroup_flush_stats_ratelimited / tick_do_update_jiffies64 read-write to 0xffffffff866089c0 of 8 bytes by interrupt on cpu 0: tick_do_update_jiffies64+0x112/0x1b0 kernel/time/tick-sched.c:118 tick_sched_do_timer kernel/time/tick-sched.c:232 [inline] tick_nohz_handler+0x7c/0x2d0 kernel/time/tick-sched.c:290 __run_hrtimer kernel/time/hrtimer.c:1739 [inline] __hrtimer_run_queues+0x20d/0x5e0 kernel/time/hrtimer.c:1803 hrtimer_interrupt+0x235/0x4a0 kernel/time/hrtimer.c:1865 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1038 [inline] __sysvec_apic_timer_interrupt+0x5c/0x1d0 arch/x86/kernel/apic/apic.c:1055 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0x6e/0x80 arch/x86/kernel/apic/apic.c:1049 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 strncpy_from_user+0x1ef/0x210 strncpy_from_user_nofault+0x66/0xe0 mm/maccess.c:193 bpf_probe_read_user_str_common kernel/trace/bpf_trace.c:215 [inline] ____bpf_probe_read_compat_str kernel/trace/bpf_trace.c:310 [inline] bpf_probe_read_compat_str+0xb3/0x130 kernel/trace/bpf_trace.c:306 bpf_prog_d73d3bb03d5a037f+0x3e/0x40 bpf_dispatcher_nop_func include/linux/bpf.h:1290 [inline] __bpf_prog_run include/linux/filter.h:701 [inline] bpf_prog_run include/linux/filter.h:708 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2351 [inline] bpf_trace_run2+0x104/0x1d0 kernel/trace/bpf_trace.c:2392 __traceiter_kfree+0x2b/0x50 include/trace/events/kmem.h:94 trace_kfree include/trace/events/kmem.h:94 [inline] kfree+0x247/0x2f0 mm/slub.c:4733 clear_mm_walk mm/vmscan.c:3711 [inline] lru_gen_shrink_lruvec mm/vmscan.c:4941 [inline] shrink_lruvec+0x2a4/0x1840 mm/vmscan.c:5693 shrink_node_memcgs mm/vmscan.c:5929 [inline] shrink_node+0x603/0x1d80 mm/vmscan.c:5970 shrink_zones mm/vmscan.c:6215 [inline] do_try_to_free_pages+0x3c6/0xc50 mm/vmscan.c:6277 try_to_free_mem_cgroup_pages+0x1e3/0x490 mm/vmscan.c:6609 try_charge_memcg+0x2bc/0x7f0 mm/memcontrol.c:2238 obj_cgroup_charge_pages+0xbd/0x1a0 mm/memcontrol.c:2646 __memcg_kmem_charge_page+0x9d/0x170 mm/memcontrol.c:2673 __alloc_pages_noprof+0x1bc/0x340 mm/page_alloc.c:4768 alloc_pages_mpol_noprof+0xb1/0x1e0 mm/mempolicy.c:2265 alloc_pages_noprof+0xe1/0x100 mm/mempolicy.c:2344 vm_area_alloc_pages mm/vmalloc.c:3589 [inline] __vmalloc_area_node mm/vmalloc.c:3667 [inline] __vmalloc_node_range_noprof+0x6eb/0xe80 mm/vmalloc.c:3844 __kvmalloc_node_noprof+0x121/0x170 mm/util.c:672 ip_set_alloc+0x1f/0x30 net/netfilter/ipset/ip_set_core.c:256 hash_netiface_create+0x273/0x730 net/netfilter/ipset/ip_set_hash_gen.h:1568 ip_set_create+0x359/0x8a0 net/netfilter/ipset/ip_set_core.c:1104 nfnetlink_rcv_msg+0x4a9/0x570 net/netfilter/nfnetlink.c:302 netlink_rcv_skb+0x12c/0x230 net/netlink/af_netlink.c:2542 nfnetlink_rcv+0x16c/0x15d0 net/netfilter/nfnetlink.c:667 netlink_unicast_kernel net/netlink/af_netlink.c:1321 [inline] netlink_unicast+0x599/0x670 net/netlink/af_netlink.c:1347 netlink_sendmsg+0x5cc/0x6e0 net/netlink/af_netlink.c:1891 sock_sendmsg_nosec net/socket.c:711 [inline] __sock_sendmsg+0x140/0x180 net/socket.c:726 ____sys_sendmsg+0x312/0x410 net/socket.c:2583 ___sys_sendmsg net/socket.c:2637 [inline] __sys_sendmsg+0x19d/0x230 net/socket.c:2669 __do_sys_sendmsg net/socket.c:2674 [inline] __se_sys_sendmsg net/socket.c:2672 [inline] __x64_sys_sendmsg+0x46/0x50 net/socket.c:2672 x64_sys_call+0x2734/0x2dc0 arch/x86/include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffffffff866089c0 of 8 bytes by task 23264 on cpu 1: mem_cgroup_flush_stats_ratelimited+0x29/0x70 mm/memcontrol.c:640 count_shadow_nodes+0x6b/0x230 mm/workingset.c:683 do_shrink_slab+0x5a/0x680 mm/shrinker.c:384 shrink_slab_memcg mm/shrinker.c:550 [inline] shrink_slab+0x4ea/0x850 mm/shrinker.c:628 shrink_node_memcgs mm/vmscan.c:5931 [inline] shrink_node+0x63f/0x1d80 mm/vmscan.c:5970 shrink_zones mm/vmscan.c:6215 [inline] do_try_to_free_pages+0x3c6/0xc50 mm/vmscan.c:6277 try_to_free_mem_cgroup_pages+0x1e3/0x490 mm/vmscan.c:6609 try_charge_memcg+0x2bc/0x7f0 mm/memcontrol.c:2238 try_charge mm/memcontrol-v1.h:19 [inline] charge_memcg+0x50/0xc0 mm/memcontrol.c:4497 mem_cgroup_swapin_charge_folio+0xd0/0x150 mm/memcontrol.c:4582 __read_swap_cache_async+0x236/0x480 mm/swap_state.c:518 swap_cluster_readahead+0x279/0x3f0 mm/swap_state.c:684 swapin_readahead+0xe4/0x6f0 mm/swap_state.c:882 do_swap_page+0x31b/0x2550 mm/memory.c:4341 handle_pte_fault mm/memory.c:5804 [inline] __handle_mm_fault mm/memory.c:5944 [inline] handle_mm_fault+0x8e4/0x2ac0 mm/memory.c:6112 do_user_addr_fault arch/x86/mm/fault.c:1338 [inline] handle_page_fault arch/x86/mm/fault.c:1481 [inline] exc_page_fault+0x3b9/0x650 arch/x86/mm/fault.c:1539 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 value changed: 0x0000000100004353 -> 0x0000000100004354 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 23264 Comm: syz.1.6918 Tainted: G W 6.13.0-rc1-syzkaller-00001-ge70140ba0d2b #0 Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 ==================================================================