================================================================== BUG: KCSAN: data-race in __count_memcg_events / mem_cgroup_css_rstat_flush write to 0xffff888237d344c0 of 4 bytes by task 11037 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:3267 [inline] process_scheduled_works+0x465/0x990 kernel/workqueue.c:3348 worker_thread+0x526/0x730 kernel/workqueue.c:3429 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 2349 on cpu 1: memcg_rstat_updated mm/memcontrol.c:725 [inline] __count_memcg_events+0xce/0x130 mm/memcontrol.c:962 mem_cgroup_charge_statistics mm/memcontrol.c:990 [inline] mem_cgroup_commit_charge+0x92/0x200 mm/memcontrol.c:2975 charge_memcg mm/memcontrol.c:7288 [inline] __mem_cgroup_charge+0x75/0x100 mm/memcontrol.c:7299 mem_cgroup_charge include/linux/memcontrol.h:691 [inline] folio_prealloc mm/memory.c:1054 [inline] alloc_anon_folio mm/memory.c:4375 [inline] do_anonymous_page mm/memory.c:4433 [inline] do_pte_missing mm/memory.c:3878 [inline] handle_pte_fault mm/memory.c:5300 [inline] __handle_mm_fault mm/memory.c:5441 [inline] handle_mm_fault+0xd29/0x27e0 mm/memory.c:5606 do_user_addr_fault arch/x86/mm/fault.c:1382 [inline] handle_page_fault arch/x86/mm/fault.c:1474 [inline] exc_page_fault+0x2f5/0x690 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 rep_movs_alternative+0x4a/0x70 arch/x86/lib/copy_user_64.S:65 copy_user_generic arch/x86/include/asm/uaccess_64.h:110 [inline] raw_copy_to_user arch/x86/include/asm/uaccess_64.h:131 [inline] copy_to_user_iter lib/iov_iter.c:25 [inline] iterate_ubuf include/linux/iov_iter.h:29 [inline] iterate_and_advance2 include/linux/iov_iter.h:245 [inline] iterate_and_advance include/linux/iov_iter.h:271 [inline] _copy_to_iter+0x137/0xaf0 lib/iov_iter.c:185 copy_to_iter include/linux/uio.h:196 [inline] get_random_bytes_user+0x112/0x260 drivers/char/random.c:451 __do_sys_getrandom drivers/char/random.c:1390 [inline] __se_sys_getrandom drivers/char/random.c:1364 [inline] __x64_sys_getrandom+0xb5/0x190 drivers/char/random.c:1364 x64_sys_call+0x287f/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:319 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: 0x00000023 -> 0x00000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 2349 Comm: syz-executor.1 Tainted: G W 6.9.0-rc7-syzkaller-00136-gf4345f05c0df #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024 ==================================================================