================================================================== BUG: KCSAN: data-race in drain_all_stock / try_charge_memcg write to 0xffff888237d2b5d0 of 4 bytes by task 16461 on cpu 1: consume_stock mm/memcontrol.c:2323 [inline] try_charge_memcg+0xb2d/0xd10 mm/memcontrol.c:2744 try_charge mm/memcontrol.c:2931 [inline] charge_memcg mm/memcontrol.c:7284 [inline] __mem_cgroup_charge+0x63/0x100 mm/memcontrol.c:7299 mem_cgroup_charge include/linux/memcontrol.h:691 [inline] folio_prealloc mm/memory.c:1054 [inline] wp_page_copy mm/memory.c:3261 [inline] do_wp_page+0x63b/0x1e70 mm/memory.c:3658 handle_pte_fault mm/memory.c:5314 [inline] __handle_mm_fault mm/memory.c:5439 [inline] handle_mm_fault+0xb7f/0x27e0 mm/memory.c:5604 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 __put_user_nocheck_4+0x7/0x20 arch/x86/lib/putuser.S:95 ____sys_recvmsg+0x1a3/0x280 net/socket.c:2816 ___sys_recvmsg net/socket.c:2845 [inline] do_recvmmsg+0x2eb/0x720 net/socket.c:2939 __sys_recvmmsg net/socket.c:3018 [inline] __do_sys_recvmmsg net/socket.c:3041 [inline] __se_sys_recvmmsg net/socket.c:3034 [inline] __x64_sys_recvmmsg+0xe2/0x170 net/socket.c:3034 do_syscall_64+0xd3/0x1d0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 read to 0xffff888237d2b5d0 of 4 bytes by task 16407 on cpu 0: drain_all_stock+0xd3/0x2e0 mm/memcontrol.c:2431 try_charge_memcg+0x6bb/0xd10 mm/memcontrol.c:2791 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:4046 handle_pte_fault mm/memory.c:5301 [inline] __handle_mm_fault mm/memory.c:5439 [inline] handle_mm_fault+0x7fa/0x27e0 mm/memory.c:5604 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 fetch_robust_entry kernel/futex/core.c:783 [inline] exit_robust_list+0x31/0x280 kernel/futex/core.c:811 futex_cleanup kernel/futex/core.c:1043 [inline] futex_exit_release+0xe3/0x130 kernel/futex/core.c:1144 exit_mm_release+0x1a/0x30 kernel/fork.c:1652 exit_mm+0x38/0x190 kernel/exit.c:542 do_exit+0x57e/0x1740 kernel/exit.c:865 do_group_exit+0x102/0x150 kernel/exit.c:1027 get_signal+0xf2f/0x1080 kernel/signal.c:2911 arch_do_signal_or_restart+0x95/0x4b0 arch/x86/kernel/signal.c:310 exit_to_user_mode_loop kernel/entry/common.c:105 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] irqentry_exit_to_user_mode+0x94/0x130 kernel/entry/common.c:225 irqentry_exit+0x12/0x50 kernel/entry/common.c:328 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 value changed: 0x00000026 -> 0x00000025 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 16407 Comm: syz-executor.2 Not tainted 6.8.0-syzkaller-11608-gd95fcdf4961d #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024 ==================================================================