================================================================== BUG: KCSAN: data-race in __mod_memcg_lruvec_state / mem_cgroup_css_rstat_flush write to 0xffff888237d344c0 of 4 bytes by task 61 on cpu 0: mem_cgroup_css_rstat_flush+0x4ea/0x540 mm/memcontrol.c:5848 cgroup_rstat_flush_locked+0x848/0x980 kernel/cgroup/rstat.c:245 cgroup_rstat_flush+0x26/0x40 kernel/cgroup/rstat.c:277 do_flush_stats mm/memcontrol.c:745 [inline] flush_memcg_stats_dwork+0x50/0x90 mm/memcontrol.c:782 process_one_work kernel/workqueue.c:3254 [inline] process_scheduled_works+0x465/0x990 kernel/workqueue.c:3335 worker_thread+0x526/0x730 kernel/workqueue.c:3416 kthread+0x1d1/0x210 kernel/kthread.c:388 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 read-write to 0xffff888237d344c0 of 4 bytes by task 6268 on cpu 1: memcg_rstat_updated mm/memcontrol.c:725 [inline] __mod_memcg_lruvec_state+0x13a/0x1a0 mm/memcontrol.c:875 __mod_lruvec_state mm/memcontrol.c:897 [inline] __lruvec_stat_mod_folio+0xce/0x120 mm/memcontrol.c:917 lruvec_stat_mod_folio include/linux/vmstat.h:568 [inline] __folio_start_writeback+0x360/0x450 mm/page-writeback.c:3086 swap_writepage_bdev_async mm/page_io.c:369 [inline] __swap_writepage+0x602/0xc50 mm/page_io.c:389 swap_writepage+0xa9/0x160 mm/page_io.c:209 pageout mm/vmscan.c:660 [inline] shrink_folio_list+0x1858/0x2460 mm/vmscan.c:1323 reclaim_folio_list+0x81/0x1e0 mm/vmscan.c:2108 reclaim_pages+0x227/0x290 mm/vmscan.c:2145 madvise_cold_or_pageout_pte_range+0xaa0/0xb30 mm/madvise.c:527 walk_pmd_range mm/pagewalk.c:143 [inline] walk_pud_range mm/pagewalk.c:221 [inline] walk_p4d_range mm/pagewalk.c:256 [inline] walk_pgd_range+0x80d/0xef0 mm/pagewalk.c:293 __walk_page_range+0xc5/0x330 mm/pagewalk.c:395 walk_page_range+0x2c5/0x400 mm/pagewalk.c:521 madvise_pageout_page_range mm/madvise.c:586 [inline] madvise_pageout mm/madvise.c:613 [inline] madvise_vma_behavior mm/madvise.c:1019 [inline] madvise_walk_vmas mm/madvise.c:1248 [inline] do_madvise+0x1b51/0x2570 mm/madvise.c:1428 __do_sys_madvise mm/madvise.c:1441 [inline] __se_sys_madvise mm/madvise.c:1439 [inline] __x64_sys_madvise+0x61/0x70 mm/madvise.c:1439 x64_sys_call+0x2825/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:29 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x00000007 -> 0x00000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 6268 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 (6268) used greatest stack depth: 9736 bytes left