================================================================== 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 0: 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: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+0x6f/0x80 arch/x86/kernel/apic/apic.c:1049 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 __rcu_read_unlock+0x0/0x70 kernel/rcu/tree_plugin.h:420 rcu_read_unlock include/linux/rcupdate.h:873 [inline] mod_memcg_page_state include/linux/memcontrol.h:932 [inline] __vmalloc_area_node mm/vmalloc.c:3678 [inline] __vmalloc_node_range_noprof+0xa0f/0xdf0 mm/vmalloc.c:3844 __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 0xffffffff868099c0 of 8 bytes by task 9570 on cpu 1: mem_cgroup_flush_stats_ratelimited+0x29/0x70 mm/memcontrol.c:643 count_shadow_nodes+0x6a/0x230 mm/workingset.c:680 do_shrink_slab+0x60/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:5991 [inline] shrink_node+0x6c3/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 try_charge mm/memcontrol.c:2446 [inline] charge_memcg+0x51/0xc0 mm/memcontrol.c:4592 mem_cgroup_swapin_charge_folio+0xcc/0x150 mm/memcontrol.c:4678 __read_swap_cache_async+0x1df/0x350 mm/swap_state.c:444 swap_cluster_readahead+0x277/0x3e0 mm/swap_state.c:616 swapin_readahead+0xde/0x6f0 mm/swap_state.c:814 do_swap_page+0x301/0x2460 mm/memory.c:4532 handle_pte_fault mm/memory.c:6000 [inline] __handle_mm_fault mm/memory.c:6140 [inline] handle_mm_fault+0xb60/0x2ae0 mm/memory.c:6309 do_user_addr_fault+0x3fe/0x1090 arch/x86/mm/fault.c:1388 handle_page_fault arch/x86/mm/fault.c:1480 [inline] exc_page_fault+0x54/0xc0 arch/x86/mm/fault.c:1538 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 __get_user_8+0x14/0x30 arch/x86/lib/getuser.S:100 fetch_robust_entry kernel/futex/core.c:763 [inline] exit_robust_list+0x31/0x280 kernel/futex/core.c:791 futex_cleanup kernel/futex/core.c:1023 [inline] futex_exit_release+0xe0/0x130 kernel/futex/core.c:1124 exit_mm_release+0x1a/0x30 kernel/fork.c:1698 exit_mm+0x38/0x190 kernel/exit.c:562 do_exit+0x55f/0x17c0 kernel/exit.c:940 do_group_exit+0xff/0x140 kernel/exit.c:1102 get_signal+0xe59/0xf70 kernel/signal.c:3034 arch_do_signal_or_restart+0x97/0x480 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop kernel/entry/common.c:111 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x68/0xb0 kernel/entry/common.c:218 do_syscall_64+0xdd/0x1a0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x0000000100013f6b -> 0x0000000100013f6c Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 9570 Comm: syz.1.12301 Not tainted 6.15.0-rc5-syzkaller-00136-g9c69f8884904 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025 ==================================================================