================================================================== BUG: KCSAN: data-race in drain_all_stock / drain_stock write to 0xffff888237d2a300 of 4 bytes by task 15222 on cpu 1: drain_stock+0x48/0xf0 mm/memcontrol.c:2273 __refill_stock+0x33/0xb0 mm/memcontrol.c:2313 refill_stock mm/memcontrol.c:2328 [inline] obj_cgroup_uncharge_pages+0xfb/0x1a0 mm/memcontrol.c:3088 refill_obj_stock+0x15c/0x1d0 mm/memcontrol.c:3360 obj_cgroup_uncharge+0xe/0x10 mm/memcontrol.c:3409 memcg_slab_free_hook mm/slab.h:571 [inline] slab_free mm/slub.c:3796 [inline] kmem_cache_free+0x112/0x3a0 mm/slub.c:3823 __cleanup_sighand+0x51/0x80 kernel/fork.c:1835 __exit_signal kernel/exit.c:210 [inline] release_task+0x8a7/0xb70 kernel/exit.c:256 wait_task_zombie kernel/exit.c:1210 [inline] wait_consider_task+0x115e/0x1670 kernel/exit.c:1437 do_wait_thread kernel/exit.c:1500 [inline] do_wait+0x183/0x650 kernel/exit.c:1617 kernel_wait4+0x15f/0x1c0 kernel/exit.c:1780 __do_sys_wait4 kernel/exit.c:1808 [inline] __se_sys_wait4 kernel/exit.c:1804 [inline] __x64_sys_wait4+0x94/0x120 kernel/exit.c:1804 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd read to 0xffff888237d2a300 of 4 bytes by task 17491 on cpu 0: drain_all_stock+0xd3/0x2d0 mm/memcontrol.c:2358 try_charge_memcg+0x6c5/0xd20 mm/memcontrol.c:2703 try_charge mm/memcontrol.c:2837 [inline] charge_memcg+0x51/0x200 mm/memcontrol.c:6976 mem_cgroup_swapin_charge_folio+0xd0/0x150 mm/memcontrol.c:7032 __read_swap_cache_async+0x2fe/0x560 mm/swap_state.c:489 swap_cluster_readahead+0x2a3/0x4f0 mm/swap_state.c:653 swapin_readahead+0x8d/0x700 mm/swap_state.c:861 do_swap_page+0x4d7/0x1550 mm/memory.c:3813 handle_pte_fault mm/memory.c:4942 [inline] __handle_mm_fault mm/memory.c:5079 [inline] handle_mm_fault+0x9ec/0x2c10 mm/memory.c:5233 do_user_addr_fault arch/x86/mm/fault.c:1392 [inline] handle_page_fault arch/x86/mm/fault.c:1486 [inline] exc_page_fault+0x24d/0x650 arch/x86/mm/fault.c:1542 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 value changed: 0x00000004 -> 0x00000001 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 17491 Comm: syz-executor.5 Not tainted 6.5.0-rc7-syzkaller-00018-g89bf6209cad6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023 ================================================================== syz-executor.5 invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=1000 CPU: 0 PID: 17491 Comm: syz-executor.5 Not tainted 6.5.0-rc7-syzkaller-00018-g89bf6209cad6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023 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+0x95/0x3c0 mm/oom_kill.c:460 oom_kill_process+0xe3/0x3e0 mm/oom_kill.c:1036 out_of_memory+0x9ca/0xc00 mm/oom_kill.c:1172 mem_cgroup_out_of_memory+0x139/0x190 mm/memcontrol.c:1744 mem_cgroup_oom mm/memcontrol.c:1974 [inline] try_charge_memcg+0x75c/0xd20 mm/memcontrol.c:2743 try_charge mm/memcontrol.c:2837 [inline] charge_memcg+0x51/0x200 mm/memcontrol.c:6976 mem_cgroup_swapin_charge_folio+0xd0/0x150 mm/memcontrol.c:7032 __read_swap_cache_async+0x2fe/0x560 mm/swap_state.c:489 swap_cluster_readahead+0x2a3/0x4f0 mm/swap_state.c:653 swapin_readahead+0x8d/0x700 mm/swap_state.c:861 do_swap_page+0x4d7/0x1550 mm/memory.c:3813 handle_pte_fault mm/memory.c:4942 [inline] __handle_mm_fault mm/memory.c:5079 [inline] handle_mm_fault+0x9ec/0x2c10 mm/memory.c:5233 do_user_addr_fault arch/x86/mm/fault.c:1392 [inline] handle_page_fault arch/x86/mm/fault.c:1486 [inline] exc_page_fault+0x24d/0x650 arch/x86/mm/fault.c:1542 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 RIP: 0010:__get_user_8+0x11/0x20 arch/x86/lib/getuser.S:88 Code: 48 c1 fa 3f 48 09 d0 0f 01 cb 8b 10 31 c0 0f 01 ca c3 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 89 c2 48 c1 fa 3f 48 09 d0 0f 01 cb <48> 8b 10 31 c0 0f 01 ca c3 66 0f 1f 44 00 00 f3 0f 1e fa 0f 01 cb RSP: 0018:ffffc9000fc23e38 EFLAGS: 00050202 RAX: 0000555556699da8 RBX: ffffc9000fc23e40 RCX: ffffffff81417113 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888137234ad8 RBP: ffffc9000fc23ef8 R08: 0001888137234adf R09: 0000000000000000 R10: 0001ffffffffffff R11: 00018881372347a0 R12: ffff888137234100 R13: ffff888137234ad8 R14: ffffc9000fc23f58 R15: ffffc9000fc23fd8 rseq_get_rseq_cs kernel/rseq.c:161 [inline] rseq_ip_fixup kernel/rseq.c:281 [inline] __rseq_handle_notify_resume+0xc7/0xbf0 kernel/rseq.c:329 rseq_handle_notify_resume include/linux/sched.h:2338 [inline] resume_user_mode_work include/linux/resume_user_mode.h:61 [inline] exit_to_user_mode_loop+0xc7/0xe0 kernel/entry/common.c:171 exit_to_user_mode_prepare+0x6c/0xb0 kernel/entry/common.c:204 irqentry_exit_to_user_mode+0x9/0x20 kernel/entry/common.c:310 irqentry_exit+0x12/0x40 kernel/entry/common.c:413 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 RIP: 0033:0x7f5b9d60b1b3 Code: 00 4c 89 f1 4c 89 fa 48 89 de e8 88 b2 01 00 85 c0 75 c4 4c 8b 4c 24 50 48 89 df 4c 89 4c 24 58 e8 02 ab 01 00 4c 8b 4c 24 58 <41> 8b 01 85 c0 0f 84 dd fe ff ff 66 90 48 63 c5 4d 89 f7 4c 89 e3 RSP: 002b:00007ffcc1d65350 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00007ffcc1d654b0 RCX: 00007f5b9d626967 RDX: 0000000000000000 RSI: 00007ffcc1d65268 RDI: 00007ffcc1d654b0 RBP: 0000000000000000 R08: 0000000000000000 R09: 00007f5b9d770f8c R10: 0000000000000008 R11: 0000000000000246 R12: 00007f5b9d770f80 R13: 0000000000000064 R14: 00007f5b9d770f80 R15: 00007f5b9d608900 memory: usage 307196kB, limit 307200kB, failcnt 29178 memory+swap: usage 324492kB, limit 9007199254740988kB, failcnt 0 kmem: usage 307176kB, limit 9007199254740988kB, failcnt 0 Memory cgroup stats for /syz5: cache 4096 rss 8192 shmem 0 mapped_file 0 dirty 4096 writeback 0 workingset_refault_anon 6203 workingset_refault_file 0 swap 17707008 pgpgin 867231 pgpgout 867225 pgfault 1110414 pgmajfault 4556 inactive_anon 16384 active_anon 0 inactive_file 4096 active_file 0 unevictable 0 hierarchical_memory_limit 314572800 hierarchical_memsw_limit 9223372036854771712 total_cache 4096 total_rss 8192 total_shmem 0 total_mapped_file 0 total_dirty 4096 total_writeback 0 total_workingset_refault_anon 6203 total_workingset_refault_file 0 total_swap 17707008 total_pgpgin 867231 total_pgpgout 867225 total_pgfault 1110414 total_pgmajfault 4556 total_inactive_anon 16384 total_active_anon 0 total_inactive_file 4096 total_active_file 0 total_unevictable 0 oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=syz5,mems_allowed=0,oom_memcg=/syz5,task_memcg=/syz5,task=syz-executor.5,pid=17491,uid=0 Memory cgroup out of memory: Killed process 17491 (syz-executor.5) total-vm:46296kB, anon-rss:376kB, file-rss:8832kB, shmem-rss:0kB, UID:0 pgtables:76kB oom_score_adj:1000 ---------------- Code disassembly (best guess): 0: 48 c1 fa 3f sar $0x3f,%rdx 4: 48 09 d0 or %rdx,%rax 7: 0f 01 cb stac a: 8b 10 mov (%rax),%edx c: 31 c0 xor %eax,%eax e: 0f 01 ca clac 11: c3 ret 12: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 19: f3 0f 1e fa endbr64 1d: 48 89 c2 mov %rax,%rdx 20: 48 c1 fa 3f sar $0x3f,%rdx 24: 48 09 d0 or %rdx,%rax 27: 0f 01 cb stac * 2a: 48 8b 10 mov (%rax),%rdx <-- trapping instruction 2d: 31 c0 xor %eax,%eax 2f: 0f 01 ca clac 32: c3 ret 33: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 39: f3 0f 1e fa endbr64 3d: 0f 01 cb stac