================================================================== 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+0x20f/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 __tsan_read8+0x0/0x190 kernel/kcsan/core.c:753 native_local_ptep_get_and_clear arch/x86/include/asm/pgtable.h:1237 [inline] ptep_get_and_clear_full arch/x86/include/asm/pgtable.h:1316 [inline] get_and_clear_full_ptes include/linux/pgtable.h:714 [inline] zap_present_folio_ptes mm/memory.c:1505 [inline] zap_present_ptes mm/memory.c:1590 [inline] do_zap_pte_range mm/memory.c:1691 [inline] zap_pte_range mm/memory.c:1735 [inline] zap_pmd_range mm/memory.c:1827 [inline] zap_pud_range mm/memory.c:1856 [inline] zap_p4d_range mm/memory.c:1877 [inline] unmap_page_range+0xd73/0x2740 mm/memory.c:1898 unmap_single_vma mm/memory.c:1941 [inline] unmap_vmas+0x23d/0x3a0 mm/memory.c:1985 exit_mmap+0x1b0/0x6c0 mm/mmap.c:1284 __mmput+0x28/0x1c0 kernel/fork.c:1121 mmput+0x40/0x50 kernel/fork.c:1144 exit_mm+0xe4/0x190 kernel/exit.c:581 do_exit+0x417/0x1590 kernel/exit.c:952 do_group_exit+0x139/0x140 kernel/exit.c:1105 __do_sys_exit_group kernel/exit.c:1116 [inline] __se_sys_exit_group kernel/exit.c:1114 [inline] __x64_sys_exit_group+0x1f/0x20 kernel/exit.c:1114 x64_sys_call+0x2fa4/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:232 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 3309 on cpu 1: mem_cgroup_flush_stats_ratelimited+0x29/0x70 mm/memcontrol.c:637 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:6035 [inline] shrink_node+0x6c3/0x2120 mm/vmscan.c:6074 shrink_zones mm/vmscan.c:6318 [inline] do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6380 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6708 try_charge_memcg+0x358/0x9e0 mm/memcontrol.c:2360 try_charge mm/memcontrol.c:2502 [inline] charge_memcg+0x51/0xc0 mm/memcontrol.c:4768 mem_cgroup_swapin_charge_folio+0xcc/0x150 mm/memcontrol.c:4854 __read_swap_cache_async+0x1df/0x350 mm/swap_state.c:441 swap_cluster_readahead+0x277/0x3e0 mm/swap_state.c:613 swapin_readahead+0xde/0x6f0 mm/swap_state.c:811 do_swap_page+0x301/0x2430 mm/memory.c:4603 handle_pte_fault mm/memory.c:6072 [inline] __handle_mm_fault mm/memory.c:6212 [inline] handle_mm_fault+0x9a5/0x2be0 mm/memory.c:6381 do_user_addr_fault+0x636/0x1090 arch/x86/mm/fault.c:1336 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 value changed: 0x00000000ffffb667 -> 0x00000000ffffb668 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 3309 Comm: syz-executor Not tainted 6.16.0-rc7-syzkaller-00093-g94ce1ac2c9b4 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 ==================================================================