================================================================== BUG: KCSAN: data-race in mem_cgroup_flush_stats_ratelimited / tick_do_update_jiffies64 read-write to 0xffffffff860079c0 of 8 bytes by interrupt on cpu 0: tick_do_update_jiffies64+0x112/0x1b0 kernel/time/tick-sched.c:118 tick_sched_do_timer kernel/time/tick-sched.c:232 [inline] tick_nohz_handler+0x7c/0x2d0 kernel/time/tick-sched.c:290 __run_hrtimer kernel/time/hrtimer.c:1692 [inline] __hrtimer_run_queues+0x214/0x5e0 kernel/time/hrtimer.c:1756 hrtimer_interrupt+0x210/0x7b0 kernel/time/hrtimer.c:1818 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1032 [inline] __sysvec_apic_timer_interrupt+0x5c/0x1a0 arch/x86/kernel/apic/apic.c:1049 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0x6e/0x80 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 arch_atomic64_read arch/x86/include/asm/atomic64_64.h:15 [inline] raw_atomic64_read include/linux/atomic/atomic-arch-fallback.h:2583 [inline] raw_atomic_long_read include/linux/atomic/atomic-long.h:38 [inline] atomic_long_read include/linux/atomic/atomic-instrumented.h:3189 [inline] find_watchpoint kernel/kcsan/core.c:131 [inline] check_access kernel/kcsan/core.c:737 [inline] __tsan_read4+0x2c/0x180 kernel/kcsan/core.c:1024 add_nr_deferred mm/shrinker.c:356 [inline] do_shrink_slab+0x399/0x690 mm/shrinker.c:460 shrink_slab_memcg mm/shrinker.c:548 [inline] shrink_slab+0x4f7/0x870 mm/shrinker.c:626 shrink_node_memcgs mm/vmscan.c:5875 [inline] shrink_node+0xab2/0x15a0 mm/vmscan.c:5908 shrink_zones mm/vmscan.c:6152 [inline] do_try_to_free_pages+0x3cc/0xca0 mm/vmscan.c:6214 try_to_free_mem_cgroup_pages+0x1eb/0x4e0 mm/vmscan.c:6529 try_charge_memcg+0x279/0xd10 mm/memcontrol.c:2783 try_charge mm/memcontrol.c:2931 [inline] charge_memcg mm/memcontrol.c:7284 [inline] mem_cgroup_swapin_charge_folio+0x107/0x1a0 mm/memcontrol.c:7369 __read_swap_cache_async+0x2b9/0x520 mm/swap_state.c:514 swap_cluster_readahead+0x276/0x3f0 mm/swap_state.c:678 swapin_readahead+0xe2/0x7a0 mm/swap_state.c:904 do_swap_page+0x3bb/0x15f0 mm/memory.c:4048 handle_pte_fault mm/memory.c:5303 [inline] __handle_mm_fault mm/memory.c:5441 [inline] handle_mm_fault+0x7fa/0x27e0 mm/memory.c:5606 do_user_addr_fault arch/x86/mm/fault.c:1413 [inline] handle_page_fault arch/x86/mm/fault.c:1505 [inline] exc_page_fault+0x2f5/0x6d0 arch/x86/mm/fault.c:1563 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 __get_user_8+0x11/0x20 arch/x86/lib/getuser.S:85 rseq_get_rseq_cs kernel/rseq.c:161 [inline] rseq_ip_fixup kernel/rseq.c:281 [inline] __rseq_handle_notify_resume+0xc8/0xc00 kernel/rseq.c:329 rseq_handle_notify_resume include/linux/rseq.h:38 [inline] resume_user_mode_work include/linux/resume_user_mode.h:62 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x90/0x130 kernel/entry/common.c:218 do_syscall_64+0xda/0x1d0 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffffffff860079c0 of 8 bytes by task 7421 on cpu 1: mem_cgroup_flush_stats_ratelimited+0x29/0x100 mm/memcontrol.c:772 count_shadow_nodes+0x69/0x3d0 mm/workingset.c:684 do_shrink_slab+0x5a/0x690 mm/shrinker.c:382 shrink_slab_memcg mm/shrinker.c:548 [inline] shrink_slab+0x4f7/0x870 mm/shrinker.c:626 shrink_node_memcgs mm/vmscan.c:5875 [inline] shrink_node+0xab2/0x15a0 mm/vmscan.c:5908 shrink_zones mm/vmscan.c:6152 [inline] do_try_to_free_pages+0x3cc/0xca0 mm/vmscan.c:6214 try_to_free_mem_cgroup_pages+0x1eb/0x4e0 mm/vmscan.c:6529 try_charge_memcg+0x279/0xd10 mm/memcontrol.c:2783 try_charge mm/memcontrol.c:2931 [inline] charge_memcg mm/memcontrol.c:7284 [inline] mem_cgroup_swapin_charge_folio+0x107/0x1a0 mm/memcontrol.c:7369 __read_swap_cache_async+0x2b9/0x520 mm/swap_state.c:514 swap_cluster_readahead+0x276/0x3f0 mm/swap_state.c:678 swapin_readahead+0xe2/0x7a0 mm/swap_state.c:904 do_swap_page+0x3bb/0x15f0 mm/memory.c:4048 handle_pte_fault mm/memory.c:5303 [inline] __handle_mm_fault mm/memory.c:5441 [inline] handle_mm_fault+0x7fa/0x27e0 mm/memory.c:5606 do_user_addr_fault arch/x86/mm/fault.c:1362 [inline] handle_page_fault arch/x86/mm/fault.c:1505 [inline] exc_page_fault+0x3eb/0x6d0 arch/x86/mm/fault.c:1563 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 value changed: 0x00000000ffffe443 -> 0x00000000ffffe444 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 7421 Comm: syz-executor.0 Not tainted 6.9.0-rc5-syzkaller-00159-gc942a0cd3603 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 ================================================================== syz-executor.0 invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=1000 CPU: 0 PID: 7421 Comm: syz-executor.0 Not tainted 6.9.0-rc5-syzkaller-00159-gc942a0cd3603 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xf2/0x150 lib/dump_stack.c:114 dump_stack+0x15/0x20 lib/dump_stack.c:123 dump_header+0x83/0x2d0 mm/oom_kill.c:462 oom_kill_process+0x33e/0x4c0 mm/oom_kill.c:1036 out_of_memory+0x9cb/0xc00 mm/oom_kill.c:1174 mem_cgroup_out_of_memory+0x13e/0x190 mm/memcontrol.c:1817 mem_cgroup_oom mm/memcontrol.c:2047 [inline] try_charge_memcg+0x752/0xd10 mm/memcontrol.c:2831 try_charge mm/memcontrol.c:2931 [inline] charge_memcg mm/memcontrol.c:7284 [inline] mem_cgroup_swapin_charge_folio+0x107/0x1a0 mm/memcontrol.c:7369 __read_swap_cache_async+0x2b9/0x520 mm/swap_state.c:514 swap_cluster_readahead+0x276/0x3f0 mm/swap_state.c:678 swapin_readahead+0xe2/0x7a0 mm/swap_state.c:904 do_swap_page+0x3bb/0x15f0 mm/memory.c:4048 handle_pte_fault mm/memory.c:5303 [inline] __handle_mm_fault mm/memory.c:5441 [inline] handle_mm_fault+0x7fa/0x27e0 mm/memory.c:5606 do_user_addr_fault arch/x86/mm/fault.c:1362 [inline] handle_page_fault arch/x86/mm/fault.c:1505 [inline] exc_page_fault+0x3eb/0x6d0 arch/x86/mm/fault.c:1563 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0033:0x7ffa3b3ae061 Code: 00 31 f6 e8 91 ea ff ff 48 81 c3 d0 00 00 00 48 39 dd 0f 84 50 fd ff ff 80 7b 20 00 48 89 df 74 e7 e8 13 cc ff ff 84 c0 74 d7 <80> 3d a8 10 14 00 00 48 8b 83 a8 00 00 00 75 be 8b 00 89 83 9c 00 RSP: 002b:00007fffa5eb52d0 EFLAGS: 00010202 RAX: 0000000000000001 RBX: 00007ffa3b521f80 RCX: 0000000000036ee8 RDX: 000000000000025a RSI: 00007fffa5eb52b0 RDI: 00007ffa3b521f80 RBP: 00007ffa3b523980 R08: 0000000000000010 R09: 00007ffa3b5000b0 R10: 00007ffa3b500080 R11: 000000000000a8e2 R12: 0000000000036edc R13: 0000000000036b9d R14: 00007fffa5eb5470 R15: 00007ffa3b3aacb0 memory: usage 307200kB, limit 307200kB, failcnt 18017 memory+swap: usage 308168kB, limit 9007199254740988kB, failcnt 0 kmem: usage 307180kB, limit 9007199254740988kB, failcnt 0 Memory cgroup stats for /syz0: cache 4096 rss 0 shmem 0 mapped_file 0 dirty 0 writeback 0 workingset_refault_anon 50 workingset_refault_file 0 swap 991232 swapcached 16384 pgpgin 75002 pgpgout 74997 pgfault 73756 pgmajfault 27 inactive_anon 16384 active_anon 0 inactive_file 0 active_file 4096 unevictable 0 hierarchical_memory_limit 314572800 hierarchical_memsw_limit 9223372036854771712 total_cache 4096 total_rss 0 total_shmem 0 total_mapped_file 0 total_dirty 0 total_writeback 0 total_workingset_refault_anon 50 total_workingset_refault_file 0 total_swap 991232 total_swapcached 16384 total_pgpgin 75002 total_pgpgout 74997 total_pgfault 73756 total_pgmajfault 27 total_inactive_anon 16384 total_active_anon 0 total_inactive_file 0 total_active_file 4096 total_unevictable 0 oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=syz0,mems_allowed=0,oom_memcg=/syz0,task_memcg=/syz0,task=syz-executor.0,pid=7421,uid=0 Memory cgroup out of memory: Killed process 7421 (syz-executor.0) total-vm:46344kB, anon-rss:384kB, file-rss:8960kB, shmem-rss:0kB, UID:0 pgtables:80kB oom_score_adj:1000