================================================================== BUG: KCSAN: data-race in drain_all_stock / try_charge_memcg write to 0xffff888237d2a690 of 4 bytes by task 17287 on cpu 1: consume_stock mm/memcontrol.c:2322 [inline] try_charge_memcg+0xb46/0xd20 mm/memcontrol.c:2743 try_charge mm/memcontrol.c:2930 [inline] charge_memcg mm/memcontrol.c:7276 [inline] __mem_cgroup_charge+0x63/0xf0 mm/memcontrol.c:7291 mem_cgroup_charge include/linux/memcontrol.h:690 [inline] folio_prealloc mm/memory.c:1011 [inline] wp_page_copy mm/memory.c:3138 [inline] do_wp_page+0x63a/0x1f20 mm/memory.c:3525 handle_pte_fault mm/memory.c:5180 [inline] __handle_mm_fault mm/memory.c:5305 [inline] handle_mm_fault+0xb80/0x27c0 mm/memory.c:5470 do_user_addr_fault arch/x86/mm/fault.c:1355 [inline] handle_page_fault arch/x86/mm/fault.c:1498 [inline] exc_page_fault+0x401/0x6d0 arch/x86/mm/fault.c:1554 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 read to 0xffff888237d2a690 of 4 bytes by task 17261 on cpu 0: drain_all_stock+0xd3/0x2e0 mm/memcontrol.c:2430 try_charge_memcg+0x6c2/0xd20 mm/memcontrol.c:2790 try_charge mm/memcontrol.c:2930 [inline] charge_memcg mm/memcontrol.c:7276 [inline] mem_cgroup_swapin_charge_folio+0x107/0x190 mm/memcontrol.c:7361 __read_swap_cache_async+0x2b9/0x510 mm/swap_state.c:498 swap_cluster_readahead+0x276/0x3f0 mm/swap_state.c:662 swapin_readahead+0xe2/0x7a0 mm/swap_state.c:888 do_swap_page+0x3bb/0x15e0 mm/memory.c:3913 handle_pte_fault mm/memory.c:5167 [inline] __handle_mm_fault mm/memory.c:5305 [inline] handle_mm_fault+0x7f6/0x27c0 mm/memory.c:5470 do_user_addr_fault arch/x86/mm/fault.c:1355 [inline] handle_page_fault arch/x86/mm/fault.c:1498 [inline] exc_page_fault+0x401/0x6d0 arch/x86/mm/fault.c:1554 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 value changed: 0x00000032 -> 0x0000002b Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 17261 Comm: syz-executor.1 Not tainted 6.8.0-rc6-syzkaller-00011-g45ec2f5f6ed3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 ================================================================== syz-executor.1 invoked oom-killer: gfp_mask=0x400dc0(GFP_KERNEL_ACCOUNT|__GFP_ZERO), order=0, oom_score_adj=1000 CPU: 1 PID: 17261 Comm: syz-executor.1 Not tainted 6.8.0-rc6-syzkaller-00011-g45ec2f5f6ed3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xda/0x130 lib/dump_stack.c:106 dump_stack+0x15/0x20 lib/dump_stack.c:113 dump_header+0x82/0x2d0 mm/oom_kill.c:461 oom_kill_process+0x33a/0x4c0 mm/oom_kill.c:1032 out_of_memory+0x9ca/0xbf0 mm/oom_kill.c:1170 mem_cgroup_out_of_memory+0x139/0x190 mm/memcontrol.c:1816 mem_cgroup_oom mm/memcontrol.c:2046 [inline] try_charge_memcg+0x759/0xd20 mm/memcontrol.c:2830 obj_cgroup_charge_pages+0xbd/0x1c0 mm/memcontrol.c:3301 obj_cgroup_charge+0xec/0x140 mm/memcontrol.c:3592 __memcg_slab_pre_alloc_hook+0xe3/0x120 mm/slub.c:1929 memcg_slab_pre_alloc_hook mm/slub.c:1950 [inline] slab_pre_alloc_hook mm/slub.c:3766 [inline] slab_alloc_node mm/slub.c:3842 [inline] kmalloc_trace+0x18a/0x2d0 mm/slub.c:4007 kmalloc include/linux/slab.h:590 [inline] kzalloc include/linux/slab.h:711 [inline] get_undo_list ipc/sem.c:1856 [inline] copy_semundo+0x8d/0x170 ipc/sem.c:2312 copy_process+0xf2a/0x20a0 kernel/fork.c:2482 kernel_clone+0x169/0x560 kernel/fork.c:2902 __do_sys_clone3 kernel/fork.c:3203 [inline] __se_sys_clone3+0x1b5/0x1f0 kernel/fork.c:3187 __x64_sys_clone3+0x31/0x40 kernel/fork.c:3187 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+0x63/0x6b RIP: 0033:0x7fb34fafdb99 Code: ff ff eb d2 e8 f8 62 fd ff 0f 1f 84 00 00 00 00 00 b8 ea ff ff ff 48 85 ff 74 2c 48 85 d2 74 27 49 89 c8 b8 b3 01 00 00 0f 05 <48> 85 c0 7c 18 74 01 c3 31 ed 48 83 e4 f0 4c 89 c7 ff d2 48 89 c7 RSP: 002b:00007fffeeb368a8 EFLAGS: 00000202 ORIG_RAX: 00000000000001b3 RAX: ffffffffffffffda RBX: 00007fb34faa6270 RCX: 00007fb34fafdb99 RDX: 00007fb34faa6270 RSI: 0000000000000058 RDI: 00007fffeeb368f0 RBP: 00007fb34ee536c0 R08: 00007fb34ee536c0 R09: 00007fffeeb369d7 R10: 0000000000000008 R11: 0000000000000202 R12: ffffffffffffffb0 R13: 000000000000000b R14: 00007fffeeb368f0 R15: 00007fffeeb369d8 memory: usage 307200kB, limit 307200kB, failcnt 436163 memory+swap: usage 309128kB, limit 9007199254740988kB, failcnt 0 kmem: usage 307192kB, limit 9007199254740988kB, failcnt 0 Memory cgroup stats for /syz1: cache 0 rss 20480 shmem 0 mapped_file 0 dirty 0 writeback 4096 workingset_refault_anon 273078 workingset_refault_file 41 swap 1953792 swapcached 24576 pgpgin 965154 pgpgout 965147 pgfault 1543695 pgmajfault 189967 inactive_anon 16384 active_anon 12288 inactive_file 0 active_file 0 unevictable 0 hierarchical_memory_limit 314572800 hierarchical_memsw_limit 9223372036854771712 total_cache 0 total_rss 20480 total_shmem 0 total_mapped_file 0 total_dirty 0 total_writeback 4096 total_workingset_refault_anon 273078 total_workingset_refault_file 41 total_swap 1953792 total_swapcached 24576 total_pgpgin 965154 total_pgpgout 965147 total_pgfault 1543700 total_pgmajfault 189967 total_inactive_anon 16384 total_active_anon 12288 total_inactive_file 0 total_active_file 0 total_unevictable 0 oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=syz1,mems_allowed=0,oom_memcg=/syz1,task_memcg=/syz1,task=syz-executor.1,pid=17261,uid=0 Memory cgroup out of memory: Killed process 17261 (syz-executor.1) total-vm:46312kB, anon-rss:368kB, file-rss:8832kB, shmem-rss:0kB, UID:0 pgtables:72kB oom_score_adj:1000