================================================================== BUG: KCSAN: data-race in mem_cgroup_flush_stats_ratelimited / tick_do_update_jiffies64 read-write to 0xffffffff86c07a00 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:253 [inline] tick_nohz_handler+0x8d/0x3d0 kernel/time/tick-sched.c:312 __run_hrtimer kernel/time/hrtimer.c:1930 [inline] __hrtimer_run_queues+0x276/0x4f0 kernel/time/hrtimer.c:1994 hrtimer_interrupt+0x261/0x850 kernel/time/hrtimer.c:2113 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1c0 arch/x86/kernel/apic/apic.c:1067 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1061 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 ma_is_leaf lib/maple_tree.c:210 [inline] mtree_range_walk lib/maple_tree.c:2053 [inline] mas_state_walk lib/maple_tree.c:2952 [inline] mt_find+0x5c0/0xa10 lib/maple_tree.c:6271 find_vma+0x6c/0xa0 mm/mmap.c:908 lock_mm_and_find_vma+0x62/0x3d0 mm/mmap_lock.c:504 do_user_addr_fault+0x277/0x1050 arch/x86/mm/fault.c:1357 handle_page_fault arch/x86/mm/fault.c:1474 [inline] exc_page_fault+0x62/0xa0 arch/x86/mm/fault.c:1527 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618 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:185 [inline] _copy_from_user+0x6f/0xb0 lib/usercopy.c:18 copy_from_user include/linux/uaccess.h:223 [inline] copy_msghdr_from_user net/socket.c:2628 [inline] recvmsg_copy_msghdr net/socket.c:2884 [inline] ___sys_recvmsg+0xaa/0x3b0 net/socket.c:2956 do_recvmmsg+0x1ef/0x560 net/socket.c:3055 __sys_recvmmsg net/socket.c:3129 [inline] __do_sys_recvmmsg net/socket.c:3152 [inline] __se_sys_recvmmsg net/socket.c:3145 [inline] __x64_sys_recvmmsg+0xe5/0x170 net/socket.c:3145 x64_sys_call+0x80f/0x3020 arch/x86/include/generated/asm/syscalls_64.h:300 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffffffff86c07a00 of 8 bytes by task 20041 on cpu 1: mem_cgroup_flush_stats_ratelimited+0x29/0x50 mm/memcontrol.c:743 count_shadow_nodes+0x6a/0x250 mm/workingset.c:692 do_shrink_slab+0x63/0x660 mm/shrinker.c:382 shrink_slab_memcg mm/shrinker.c:553 [inline] shrink_slab+0x545/0x8f0 mm/shrinker.c:631 shrink_node_memcgs mm/vmscan.c:6173 [inline] shrink_node+0x6d4/0x20a0 mm/vmscan.c:6215 shrink_zones mm/vmscan.c:6454 [inline] do_try_to_free_pages+0x408/0xc90 mm/vmscan.c:6516 try_to_free_mem_cgroup_pages+0x201/0x420 mm/vmscan.c:6838 try_charge_memcg+0x373/0xa10 mm/memcontrol.c:2630 charge_memcg+0x6d/0x120 mm/memcontrol.c:5024 mem_cgroup_swapin_charge_folio+0xcc/0x150 mm/memcontrol.c:5110 __swap_cache_prepare_and_add+0x69/0x4a0 mm/swap_state.c:476 swap_cache_alloc_folio+0xa2/0x120 mm/swap_state.c:552 swap_cluster_readahead+0x35c/0x3c0 mm/swap_state.c:745 swapin_readahead+0xde/0x840 mm/swap_state.c:901 do_swap_page+0x31e/0x2180 mm/memory.c:4891 handle_pte_fault mm/memory.c:6430 [inline] __handle_mm_fault mm/memory.c:6565 [inline] handle_mm_fault+0xb30/0x2e70 mm/memory.c:6734 do_user_addr_fault+0x3fd/0x1050 arch/x86/mm/fault.c:1385 handle_page_fault arch/x86/mm/fault.c:1474 [inline] exc_page_fault+0x62/0xa0 arch/x86/mm/fault.c:1527 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618 __get_user_8+0x14/0x30 arch/x86/lib/getuser.S:100 fetch_robust_entry kernel/futex/core.c:1138 [inline] exit_robust_list+0x31/0x280 kernel/futex/core.c:1166 futex_cleanup kernel/futex/core.c:1410 [inline] futex_exit_release+0xe0/0x130 kernel/futex/core.c:1515 exit_mm_release+0x1a/0x30 kernel/fork.c:1498 exit_mm+0x38/0x1f0 kernel/exit.c:554 do_exit+0x442/0x1530 kernel/exit.c:964 do_group_exit+0xfe/0x140 kernel/exit.c:1119 get_signal+0xe30/0xf20 kernel/signal.c:3037 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337 __exit_to_user_mode_loop kernel/entry/common.c:64 [inline] exit_to_user_mode_loop+0x6f/0x820 kernel/entry/common.c:98 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline] do_syscall_64+0x232/0x3b0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x000000010000628d -> 0x000000010000628e Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 20041 Comm: syz.3.4583 Not tainted syzkaller #0 PREEMPT(lazy) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026 ==================================================================