================================================================== BUG: KCSAN: data-race in mem_cgroup_flush_stats_ratelimited / tick_do_update_jiffies64 read-write to 0xffffffff868099c0 of 8 bytes by interrupt on cpu 1: tick_do_update_jiffies64+0x113/0x1c0 kernel/time/tick-sched.c:118 tick_sched_do_timer kernel/time/tick-sched.c:232 [inline] tick_nohz_handler+0x7f/0x2d0 kernel/time/tick-sched.c:290 __run_hrtimer kernel/time/hrtimer.c:1761 [inline] __hrtimer_run_queues+0x20c/0x5a0 kernel/time/hrtimer.c:1825 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1887 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1039 [inline] __sysvec_apic_timer_interrupt+0x5c/0x1d0 arch/x86/kernel/apic/apic.c:1056 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1050 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 unwind_next_frame+0xae5/0xc80 arch/x86/kernel/unwind_orc.c:680 __unwind_start+0x182/0x1e0 arch/x86/kernel/unwind_orc.c:758 unwind_start arch/x86/include/asm/unwind.h:64 [inline] perf_callchain_kernel+0x1d8/0x330 arch/x86/events/core.c:-1 get_perf_callchain+0x424/0x530 kernel/events/callchain.c:240 __bpf_get_stack+0x260/0x630 kernel/bpf/stackmap.c:454 ____bpf_get_stack kernel/bpf/stackmap.c:499 [inline] bpf_get_stack+0x33/0x50 kernel/bpf/stackmap.c:496 ____bpf_get_stack_raw_tp kernel/trace/bpf_trace.c:1835 [inline] bpf_get_stack_raw_tp+0x106/0x130 kernel/trace/bpf_trace.c:1825 bpf_prog_8a66da00847dbae2+0x41/0x49 bpf_dispatcher_nop_func include/linux/bpf.h:1332 [inline] __bpf_prog_run include/linux/filter.h:718 [inline] bpf_prog_run include/linux/filter.h:725 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2257 [inline] bpf_trace_run2+0x104/0x1c0 kernel/trace/bpf_trace.c:2298 __traceiter_kfree+0x2b/0x50 include/trace/events/kmem.h:94 __do_trace_kfree include/trace/events/kmem.h:94 [inline] trace_kfree include/trace/events/kmem.h:94 [inline] kfree+0x27b/0x320 mm/slub.c:4866 clear_mm_walk mm/vmscan.c:3870 [inline] lru_gen_shrink_lruvec mm/vmscan.c:5059 [inline] shrink_lruvec+0x2a5/0x1b50 mm/vmscan.c:5815 shrink_node_memcgs mm/vmscan.c:6051 [inline] shrink_node+0x686/0x2120 mm/vmscan.c:6092 shrink_zones mm/vmscan.c:6336 [inline] do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6398 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6726 try_charge_memcg+0x358/0x9e0 mm/memcontrol.c:2357 obj_cgroup_charge_pages+0xa6/0x150 mm/memcontrol.c:2800 __memcg_kmem_charge_page+0x9f/0x170 mm/memcontrol.c:2844 __alloc_frozen_pages_noprof+0x188/0x360 mm/page_alloc.c:5165 alloc_pages_mpol+0xb3/0x250 mm/mempolicy.c:2416 alloc_frozen_pages_noprof mm/mempolicy.c:2487 [inline] alloc_pages_noprof+0x90/0x130 mm/mempolicy.c:2507 vm_area_alloc_pages mm/vmalloc.c:3642 [inline] __vmalloc_area_node mm/vmalloc.c:3720 [inline] __vmalloc_node_range_noprof+0x6f2/0xe00 mm/vmalloc.c:3893 __kvmalloc_node_noprof+0x30f/0x4e0 mm/slub.c:5074 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+0x4c6/0x590 net/netfilter/nfnetlink.c:302 netlink_rcv_skb+0x120/0x220 net/netlink/af_netlink.c:2552 nfnetlink_rcv+0x16b/0x1690 net/netfilter/nfnetlink.c:667 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline] netlink_unicast+0x5c0/0x690 net/netlink/af_netlink.c:1346 netlink_sendmsg+0x58b/0x6b0 net/netlink/af_netlink.c:1896 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x142/0x180 net/socket.c:729 ____sys_sendmsg+0x31e/0x4e0 net/socket.c:2614 ___sys_sendmsg+0x17b/0x1d0 net/socket.c:2668 __sys_sendmsg net/socket.c:2700 [inline] __do_sys_sendmsg net/socket.c:2705 [inline] __se_sys_sendmsg net/socket.c:2703 [inline] __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2703 x64_sys_call+0x191e/0x2ff0 arch/x86/include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffffffff868099c0 of 8 bytes by task 4240 on cpu 0: mem_cgroup_flush_stats_ratelimited+0x29/0x70 mm/memcontrol.c:634 count_shadow_nodes+0x6a/0x230 mm/workingset.c:678 do_shrink_slab+0x63/0x680 mm/shrinker.c:384 shrink_slab_memcg mm/shrinker.c:550 [inline] shrink_slab+0x448/0x760 mm/shrinker.c:628 shrink_node_memcgs mm/vmscan.c:6053 [inline] shrink_node+0x6c3/0x2120 mm/vmscan.c:6092 shrink_zones mm/vmscan.c:6336 [inline] do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6398 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6726 try_charge_memcg+0x358/0x9e0 mm/memcontrol.c:2357 try_charge mm/memcontrol.c:2499 [inline] charge_memcg+0x51/0xc0 mm/memcontrol.c:4702 __mem_cgroup_charge+0x28/0xb0 mm/memcontrol.c:4719 mem_cgroup_charge include/linux/memcontrol.h:654 [inline] shmem_alloc_and_add_folio mm/shmem.c:1957 [inline] shmem_get_folio_gfp+0x470/0xd60 mm/shmem.c:2597 shmem_fault+0xf6/0x250 mm/shmem.c:2798 __do_fault+0xbc/0x200 mm/memory.c:5152 do_read_fault mm/memory.c:5573 [inline] do_fault mm/memory.c:5707 [inline] do_pte_missing mm/memory.c:4234 [inline] handle_pte_fault mm/memory.c:6052 [inline] __handle_mm_fault mm/memory.c:6195 [inline] handle_mm_fault+0xf78/0x2c20 mm/memory.c:6364 do_user_addr_fault+0x3fe/0x1090 arch/x86/mm/fault.c:1387 handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x62/0xa0 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 rep_movs_alternative+0x30/0x90 arch/x86/lib/copy_user_64.S:53 copy_user_generic arch/x86/include/asm/uaccess_64.h:126 [inline] raw_copy_from_user arch/x86/include/asm/uaccess_64.h:141 [inline] _inline_copy_from_user include/linux/uaccess.h:178 [inline] _copy_from_user+0x6f/0xb0 lib/usercopy.c:18 copy_from_user include/linux/uaccess.h:212 [inline] copy_msghdr_from_user net/socket.c:2544 [inline] recvmsg_copy_msghdr net/socket.c:2800 [inline] ___sys_recvmsg+0xaa/0x370 net/socket.c:2872 do_recvmmsg+0x1ef/0x540 net/socket.c:2971 __sys_recvmmsg net/socket.c:3045 [inline] __do_sys_recvmmsg net/socket.c:3068 [inline] __se_sys_recvmmsg net/socket.c:3061 [inline] __x64_sys_recvmmsg+0xe5/0x170 net/socket.c:3061 x64_sys_call+0x27a6/0x2ff0 arch/x86/include/generated/asm/syscalls_64.h:300 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x00000001000059bb -> 0x00000001000059bc Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 4240 Comm: syz.1.9202 Not tainted 6.16.0-syzkaller-12063-g37816488247d #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 ==================================================================