================================================================== BUG: KCSAN: data-race in __refill_stock / drain_all_stock read-write to 0xffff888237c2a3c0 of 4 bytes by task 21236 on cpu 0: __refill_stock+0x7f/0xb0 mm/memcontrol.c:2364 refill_stock mm/memcontrol.c:2375 [inline] obj_cgroup_uncharge_pages+0xfb/0x1a0 mm/memcontrol.c:3234 __memcg_kmem_uncharge_page+0x53/0x100 mm/memcontrol.c:3307 free_pages_prepare mm/page_alloc.c:1127 [inline] free_unref_page_prepare+0x7c/0x2a0 mm/page_alloc.c:2347 free_unref_page+0x34/0x170 mm/page_alloc.c:2487 bpf_ringbuf_area_alloc kernel/bpf/ringbuf.c:143 [inline] bpf_ringbuf_alloc+0x2b0/0x2f0 kernel/bpf/ringbuf.c:170 ringbuf_map_alloc+0x167/0x1d0 kernel/bpf/ringbuf.c:204 map_create+0x713/0xa40 kernel/bpf/syscall.c:1210 __sys_bpf+0x62a/0x780 kernel/bpf/syscall.c:5365 __do_sys_bpf kernel/bpf/syscall.c:5487 [inline] __se_sys_bpf kernel/bpf/syscall.c:5485 [inline] __x64_sys_bpf+0x43/0x50 kernel/bpf/syscall.c:5485 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x44/0x110 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x63/0x6b read to 0xffff888237c2a3c0 of 4 bytes by task 21252 on cpu 1: drain_all_stock+0xd3/0x2d0 mm/memcontrol.c:2405 try_charge_memcg+0x6c5/0xd30 mm/memcontrol.c:2750 try_charge mm/memcontrol.c:2884 [inline] charge_memcg mm/memcontrol.c:7210 [inline] mem_cgroup_swapin_charge_folio+0x107/0x190 mm/memcontrol.c:7295 __read_swap_cache_async+0x2f6/0x550 mm/swap_state.c:490 swap_cluster_readahead+0x27c/0x4c0 mm/swap_state.c:655 swapin_readahead+0xe9/0x7f0 mm/swap_state.c:878 do_swap_page+0x4a0/0x1670 mm/memory.c:3883 handle_pte_fault mm/memory.c:5041 [inline] __handle_mm_fault mm/memory.c:5179 [inline] handle_mm_fault+0xa36/0x2dd0 mm/memory.c:5344 do_user_addr_fault arch/x86/mm/fault.c:1364 [inline] handle_page_fault arch/x86/mm/fault.c:1505 [inline] exc_page_fault+0x3ff/0x6c0 arch/x86/mm/fault.c:1561 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 value changed: 0x00000004 -> 0x00000021 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 21252 Comm: syz-executor.3 Not tainted 6.7.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023 ================================================================== syz-executor.3 invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=1000 CPU: 0 PID: 21252 Comm: syz-executor.3 Not tainted 6.7.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/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+0x82/0x2d0 mm/oom_kill.c:460 oom_kill_process+0x33a/0x4c0 mm/oom_kill.c:1031 out_of_memory+0x9ca/0xbf0 mm/oom_kill.c:1169 mem_cgroup_out_of_memory+0x139/0x190 mm/memcontrol.c:1791 mem_cgroup_oom mm/memcontrol.c:2021 [inline] try_charge_memcg+0x75c/0xd30 mm/memcontrol.c:2790 try_charge mm/memcontrol.c:2884 [inline] charge_memcg mm/memcontrol.c:7210 [inline] mem_cgroup_swapin_charge_folio+0x107/0x190 mm/memcontrol.c:7295 __read_swap_cache_async+0x2f6/0x550 mm/swap_state.c:490 swap_cluster_readahead+0x27c/0x4c0 mm/swap_state.c:655 swapin_readahead+0xe9/0x7f0 mm/swap_state.c:878 do_swap_page+0x4a0/0x1670 mm/memory.c:3883 handle_pte_fault mm/memory.c:5041 [inline] __handle_mm_fault mm/memory.c:5179 [inline] handle_mm_fault+0xa36/0x2dd0 mm/memory.c:5344 do_user_addr_fault arch/x86/mm/fault.c:1413 [inline] handle_page_fault arch/x86/mm/fault.c:1505 [inline] exc_page_fault+0x2f7/0x6c0 arch/x86/mm/fault.c:1561 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:ffffc90000fbfe38 EFLAGS: 00050202 RAX: 0000555556c6fda8 RBX: ffffc90000fbfe40 RCX: ffffffff81443743 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88811d112a50 RBP: ffffc90000fbfef8 R08: 000188811d112a57 R09: 0000000000000000 R10: 0001ffffffffffff R11: 0001c90000fbfec0 R12: ffff88811d112080 R13: ffff88811d112a50 R14: ffffc90000fbff58 R15: ffffc90000fbffd8 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:2361 [inline] resume_user_mode_work include/linux/resume_user_mode.h:61 [inline] exit_to_user_mode_loop+0xcc/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:309 irqentry_exit+0x12/0x40 kernel/entry/common.c:412 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 RIP: 0033:0x7fcfb760eabd Code: 31 d2 48 f7 f1 4c 01 f8 49 39 c4 4c 0f 42 e0 83 3d df 6e 16 00 00 0f 8e 12 ff ff ff e8 2c 08 ff ff 49 39 c4 0f 82 60 01 00 00 <69> 3d c9 eb c8 00 e8 03 00 00 48 8d 1d b2 54 16 00 e8 9d 5f 04 00 RSP: 002b:00007ffe9a0110c0 EFLAGS: 00010206 RAX: 000000000015a0d5 RBX: 00007fcfb7775980 RCX: 0000000000159f28 RDX: 00000000000001ad RSI: 00007ffe9a0110a0 RDI: 7fffffffffffffff RBP: 00007fcfb7775980 R08: 0000000000000010 R09: 00007ffe9a1a20b0 R10: 00007ffe9a1a2080 R11: 0000000000043bae R12: 000000000015a256 R13: ffffffffffffffff R14: 00007fcfb71d8000 R15: 0000000000159f15 memory: usage 307200kB, limit 307200kB, failcnt 22120 memory+swap: usage 307344kB, limit 9007199254740988kB, failcnt 0 kmem: usage 307184kB, limit 9007199254740988kB, failcnt 0 Memory cgroup stats for /syz3: cache 0 rss 8192 shmem 0 mapped_file 0 dirty 0 writeback 8192 workingset_refault_anon 3502 workingset_refault_file 103 swap 147456 swapcached 16384 pgpgin 309400 pgpgout 309396 pgfault 764980 pgmajfault 1515 inactive_anon 4096 active_anon 0 inactive_file 0 active_file 0 unevictable 0 hierarchical_memory_limit 314572800 hierarchical_memsw_limit 9223372036854771712 total_cache 0 total_rss 8192 total_shmem 0 total_mapped_file 0 total_dirty 0 total_writeback 8192 total_workingset_refault_anon 3502 total_workingset_refault_file 103 total_swap 147456 total_swapcached 16384 total_pgpgin 309400 total_pgpgout 309396 total_pgfault 764980 total_pgmajfault 1515 total_inactive_anon 4096 total_active_anon 0 total_inactive_file 0 total_active_file 0 total_unevictable 0 oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=syz3,mems_allowed=0,oom_memcg=/syz3,task_memcg=/syz3,task=syz-executor.3,pid=21252,uid=0 Memory cgroup out of memory: Killed process 21252 (syz-executor.3) total-vm:42572kB, anon-rss:376kB, file-rss:8960kB, shmem-rss:0kB, UID:0 pgtables:80kB 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