================================================================== 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 1: 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 constant_test_bit arch/x86/include/asm/bitops.h:206 [inline] arch_test_bit arch/x86/include/asm/bitops.h:238 [inline] _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:142 [inline] folio_test_locked include/linux/page-flags.h:547 [inline] filemap_remove_folio+0x29/0x1d0 mm/filemap.c:250 truncate_inode_folio+0x42/0x50 mm/truncate.c:176 shmem_undo_range+0x244/0xa80 mm/shmem.c:1121 shmem_truncate_range mm/shmem.c:1237 [inline] shmem_evict_inode+0x134/0x520 mm/shmem.c:1365 evict+0x2e0/0x550 fs/inode.c:810 iput_final fs/inode.c:1898 [inline] iput+0x447/0x5b0 fs/inode.c:1924 dentry_unlink_inode+0x24f/0x260 fs/dcache.c:466 __dentry_kill+0x18d/0x4b0 fs/dcache.c:669 dput+0x5e/0xd0 fs/dcache.c:911 __fput+0x444/0x650 fs/file_table.c:473 ____fput+0x1c/0x30 fs/file_table.c:493 task_work_run+0x131/0x1a0 kernel/task_work.c:227 exit_task_work include/linux/task_work.h:40 [inline] do_exit+0x483/0x1590 kernel/exit.c:964 do_group_exit+0xff/0x140 kernel/exit.c:1105 get_signal+0xe59/0xf70 kernel/signal.c:3034 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop+0x7a/0x100 kernel/entry/common.c:111 exit_to_user_mode_prepare include/linux/entry-common.h:330 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:414 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:449 [inline] do_syscall_64+0x1d6/0x200 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffffffff868099c0 of 8 bytes by task 4518 on cpu 0: 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: 0x00000000ffff9e45 -> 0x00000000ffff9e46 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 4518 Comm: syz.2.375 Not tainted 6.16.0-rc6-syzkaller-00037-ge2291551827f #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 ================================================================== syz.2.375 invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=1000 CPU: 0 UID: 0 PID: 4518 Comm: syz.2.375 Not tainted 6.16.0-rc6-syzkaller-00037-ge2291551827f #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: __dump_stack+0x1d/0x30 lib/dump_stack.c:94 dump_stack_lvl+0xe8/0x140 lib/dump_stack.c:120 dump_stack+0x15/0x1b lib/dump_stack.c:129 dump_header+0x81/0x220 mm/oom_kill.c:467 oom_kill_process+0x334/0x3f0 mm/oom_kill.c:1040 out_of_memory+0x979/0xb80 mm/oom_kill.c:1178 mem_cgroup_out_of_memory mm/memcontrol.c:1652 [inline] mem_cgroup_oom mm/memcontrol.c:1675 [inline] try_charge_memcg+0x5e6/0x9e0 mm/memcontrol.c:2402 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 RIP: 0033:0x7f4d81f4538c Code: 66 0f 1f 44 00 00 69 3d 26 03 e8 00 e8 03 00 00 48 8d 1d 27 0c 35 00 e8 02 95 12 00 eb 0c 48 81 c3 e0 00 00 00 48 39 eb 74 24 <80> 7b 20 00 74 ee 8b 43 0c 85 c0 74 e7 48 89 df 48 81 c3 e0 00 00 RSP: 002b:00007ffe77073700 EFLAGS: 00010202 RAX: 0000000000000000 RBX: 00007f4d82295fa0 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000555574eb1808 RBP: 00007f4d82297ba0 R08: 0000000000000000 R09: 7fffffffffffffff R10: 0000000000000000 R11: 0000000000000293 R12: 000000000000c6a2 R13: 00007f4d82296080 R14: ffffffffffffffff R15: 00007ffe77073810 memory: usage 307200kB, limit 307200kB, failcnt 889 memory+swap: usage 1576kB, limit 9007199254740988kB, failcnt 0 kmem: usage 816kB, limit 9007199254740988kB, failcnt 0 Memory cgroup stats for /syz2: cache 0 rss 24576 shmem 0 mapped_file 0 dirty 0 writeback 0 workingset_refault_anon 96 workingset_refault_file 165 swap 671744 swapcached 28672 pgpgin 7297 pgpgout 7287 pgfault 10256 pgmajfault 46 inactive_anon 12288 active_anon 28672 inactive_file 0 active_file 0 unevictable 0 hierarchical_memory_limit 314572800 hierarchical_memsw_limit 9223372036854771712 total_cache 0 total_rss 24576 total_shmem 0 total_mapped_file 0 total_dirty 0 total_writeback 0 total_workingset_refault_anon 96 total_workingset_refault_file 165 total_swap 671744 total_swapcached 28672 total_pgpgin 7297 total_pgpgout 7287 total_pgfault 10256 total_pgmajfault 46 total_inactive_anon 12288 total_active_anon 28672 total_inactive_file 0 total_active_file 0 total_unevictable 0 oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=/,mems_allowed=0,oom_memcg=/syz2,task_memcg=/syz2,task=syz.2.375,pid=4518,uid=0 Memory cgroup out of memory: Killed process 4518 (syz.2.375) total-vm:93892kB, anon-rss:940kB, file-rss:22184kB, shmem-rss:0kB, UID:0 pgtables:128kB oom_score_adj:1000