================================================================== BUG: KCSAN: data-race in mem_cgroup_flush_stats_ratelimited / tick_do_update_jiffies64 read-write to 0xffffffff86a09a00 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:1777 [inline] __hrtimer_run_queues+0x20f/0x590 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x269/0x810 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1045 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1062 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:95 [inline] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irq+0x12/0x30 kernel/locking/spinlock.c:202 spin_unlock_irq include/linux/spinlock.h:401 [inline] inc_max_seq+0x810/0x840 mm/vmscan.c:4009 try_to_inc_max_seq+0x8bb/0xa40 mm/vmscan.c:4061 get_nr_to_scan mm/vmscan.c:4827 [inline] try_to_shrink_lruvec+0x8b6/0x960 mm/vmscan.c:4870 lru_gen_shrink_lruvec mm/vmscan.c:5023 [inline] shrink_lruvec+0x24e/0x1bc0 mm/vmscan.c:5784 shrink_node_memcgs mm/vmscan.c:6020 [inline] shrink_node+0x68e/0x2000 mm/vmscan.c:6061 shrink_zones mm/vmscan.c:6300 [inline] do_try_to_free_pages+0x404/0xcc0 mm/vmscan.c:6362 try_to_free_mem_cgroup_pages+0x222/0x470 mm/vmscan.c:6690 try_charge_memcg+0x37e/0xa10 mm/memcontrol.c:2388 try_charge mm/memcontrol.c:2530 [inline] charge_memcg mm/memcontrol.c:4728 [inline] mem_cgroup_swapin_charge_folio+0x103/0x1f0 mm/memcontrol.c:4814 __read_swap_cache_async+0x17b/0x2d0 mm/swap_state.c:481 swap_cluster_readahead+0x262/0x3c0 mm/swap_state.c:646 swapin_readahead+0xde/0x840 mm/swap_state.c:821 do_swap_page+0x59b/0x2a50 mm/memory.c:4756 handle_pte_fault mm/memory.c:6279 [inline] __handle_mm_fault mm/memory.c:6414 [inline] handle_mm_fault+0xb40/0x3030 mm/memory.c:6583 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:1139 [inline] exit_robust_list+0x31/0x280 kernel/futex/core.c:1167 futex_cleanup kernel/futex/core.c:1411 [inline] futex_exit_release+0xe0/0x130 kernel/futex/core.c:1512 exit_mm_release+0x1a/0x30 kernel/fork.c:1493 exit_mm+0x37/0x180 kernel/exit.c:554 do_exit+0x3fa/0x1590 kernel/exit.c:959 do_group_exit+0xfe/0x140 kernel/exit.c:1112 get_signal+0xe4f/0xf60 kernel/signal.c:3034 arch_do_signal_or_restart+0x96/0x450 arch/x86/kernel/signal.c:337 __exit_to_user_mode_loop kernel/entry/common.c:41 [inline] exit_to_user_mode_loop+0x6a/0x6f0 kernel/entry/common.c:75 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline] do_syscall_64+0x1d3/0x2a0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffffffff86a09a00 of 8 bytes by task 3341 on cpu 1: mem_cgroup_flush_stats_ratelimited+0x29/0x70 mm/memcontrol.c:636 count_shadow_nodes+0x6a/0x230 mm/workingset.c:678 do_shrink_slab+0x63/0x670 mm/shrinker.c:384 shrink_slab_memcg mm/shrinker.c:550 [inline] shrink_slab+0x538/0x880 mm/shrinker.c:628 shrink_node_memcgs mm/vmscan.c:6022 [inline] shrink_node+0x6cb/0x2000 mm/vmscan.c:6061 shrink_zones mm/vmscan.c:6300 [inline] do_try_to_free_pages+0x404/0xcc0 mm/vmscan.c:6362 try_to_free_mem_cgroup_pages+0x222/0x470 mm/vmscan.c:6690 try_charge_memcg+0x37e/0xa10 mm/memcontrol.c:2388 try_charge mm/memcontrol.c:2530 [inline] charge_memcg mm/memcontrol.c:4728 [inline] __mem_cgroup_charge+0x65/0x150 mm/memcontrol.c:4745 mem_cgroup_charge include/linux/memcontrol.h:663 [inline] filemap_add_folio+0x110/0x350 mm/filemap.c:959 __filemap_get_folio_mpol+0x326/0x680 mm/filemap.c:2016 __filemap_get_folio include/linux/pagemap.h:774 [inline] filemap_fault+0x473/0xbb0 mm/filemap.c:3559 __do_fault+0xbc/0x200 mm/memory.c:5323 do_read_fault mm/memory.c:5758 [inline] do_fault mm/memory.c:5892 [inline] do_pte_missing mm/memory.c:4404 [inline] handle_pte_fault mm/memory.c:6276 [inline] __handle_mm_fault mm/memory.c:6414 [inline] handle_mm_fault+0x11d7/0x3030 mm/memory.c:6583 do_user_addr_fault+0x62f/0x1050 arch/x86/mm/fault.c:1334 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 value changed: 0x00000000ffffbc9f -> 0x00000000ffffbca0 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 3341 Comm: syz-executor Tainted: G W syzkaller #0 PREEMPT(voluntary) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 ==================================================================