================================================================== 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:1777 [inline] __hrtimer_run_queues+0x20f/0x5a0 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1041 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1058 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1052 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1052 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 find_watchpoint kernel/kcsan/core.c:120 [inline] check_access kernel/kcsan/core.c:737 [inline] __tsan_read8+0x1d/0x190 kernel/kcsan/core.c:1025 mtree_range_walk lib/maple_tree.c:2559 [inline] mas_state_walk+0x28f/0x650 lib/maple_tree.c:3296 mt_find+0xd3/0x320 lib/maple_tree.c:6495 find_vma+0x6c/0xa0 mm/mmap.c:909 walk_page_range_mm+0x13b/0x4c0 mm/pagewalk.c:476 walk_page_range+0x56/0x70 mm/pagewalk.c:585 walk_mm mm/vmscan.c:3827 [inline] try_to_inc_max_seq+0x79d/0xa60 mm/vmscan.c:4092 get_nr_to_scan mm/vmscan.c:4861 [inline] try_to_shrink_lruvec+0x930/0x950 mm/vmscan.c:4904 lru_gen_shrink_lruvec mm/vmscan.c:5057 [inline] shrink_lruvec+0x22e/0x1b50 mm/vmscan.c:5818 shrink_node_memcgs mm/vmscan.c:6054 [inline] shrink_node+0x686/0x2120 mm/vmscan.c:6095 shrink_zones mm/vmscan.c:6339 [inline] do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6401 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6729 try_charge_memcg+0x383/0xa10 mm/memcontrol.c:2356 try_charge mm/memcontrol.c:2498 [inline] charge_memcg+0x51/0xc0 mm/memcontrol.c:4701 mem_cgroup_swapin_charge_folio+0xcc/0x150 mm/memcontrol.c:4787 __read_swap_cache_async+0x17b/0x2d0 mm/swap_state.c:481 swap_cluster_readahead+0x362/0x3c0 mm/swap_state.c:669 swapin_readahead+0xde/0x6f0 mm/swap_state.c:813 do_swap_page+0x2ae/0x2370 mm/memory.c:4713 handle_pte_fault mm/memory.c:6180 [inline] __handle_mm_fault mm/memory.c:6318 [inline] handle_mm_fault+0x9a5/0x2be0 mm/memory.c:6487 do_user_addr_fault+0x3fe/0x1080 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: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:1453 exit_mm+0x38/0x180 kernel/exit.c:555 do_exit+0x417/0x15c0 kernel/exit.c:954 do_group_exit+0xff/0x140 kernel/exit.c:1107 get_signal+0xe58/0xf70 kernel/signal.c:3034 arch_do_signal_or_restart+0x96/0x440 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop kernel/entry/common.c:40 [inline] exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] irqentry_exit_to_user_mode+0x5b/0xa0 kernel/entry/common.c:73 irqentry_exit+0x12/0x50 kernel/entry/common.c:191 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618 read to 0xffffffff868099c0 of 8 bytes by task 22155 on cpu 1: mem_cgroup_flush_stats_ratelimited+0x29/0x70 mm/memcontrol.c:635 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:6056 [inline] shrink_node+0x6c3/0x2120 mm/vmscan.c:6095 shrink_zones mm/vmscan.c:6339 [inline] do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6401 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6729 try_charge_memcg+0x383/0xa10 mm/memcontrol.c:2356 try_charge mm/memcontrol.c:2498 [inline] charge_memcg+0x51/0xc0 mm/memcontrol.c:4701 mem_cgroup_swapin_charge_folio+0xcc/0x150 mm/memcontrol.c:4787 __read_swap_cache_async+0x17b/0x2d0 mm/swap_state.c:481 swap_cluster_readahead+0x362/0x3c0 mm/swap_state.c:669 swapin_readahead+0xde/0x6f0 mm/swap_state.c:813 do_swap_page+0x2ae/0x2370 mm/memory.c:4713 handle_pte_fault mm/memory.c:6180 [inline] __handle_mm_fault mm/memory.c:6318 [inline] handle_mm_fault+0x9a5/0x2be0 mm/memory.c:6487 do_user_addr_fault+0x3fe/0x1080 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: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:1453 exit_mm+0x38/0x180 kernel/exit.c:555 do_exit+0x417/0x15c0 kernel/exit.c:954 do_group_exit+0xff/0x140 kernel/exit.c:1107 get_signal+0xe58/0xf70 kernel/signal.c:3034 arch_do_signal_or_restart+0x96/0x440 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop+0x77/0x110 kernel/entry/common.c:40 exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline] do_syscall_64+0x1d6/0x200 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x0000000100001dad -> 0x0000000100001dae Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 22155 Comm: syz.3.6996 Not tainted syzkaller #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 ==================================================================