================================================================== BUG: KCSAN: data-race in drain_all_stock / try_charge_memcg write to 0xffff888237d2a690 of 4 bytes by task 28088 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:5160 [inline] __handle_mm_fault mm/memory.c:5285 [inline] handle_mm_fault+0xb80/0x27c0 mm/memory.c:5450 do_user_addr_fault arch/x86/mm/fault.c:1415 [inline] handle_page_fault arch/x86/mm/fault.c:1507 [inline] exc_page_fault+0x2f9/0x6d0 arch/x86/mm/fault.c:1563 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 rep_movs_alternative+0x4a/0x70 arch/x86/lib/copy_user_64.S:65 copy_user_generic arch/x86/include/asm/uaccess_64.h:112 [inline] raw_copy_to_user arch/x86/include/asm/uaccess_64.h:133 [inline] copy_to_user_iter lib/iov_iter.c:25 [inline] iterate_iovec include/linux/iov_iter.h:51 [inline] iterate_and_advance2 include/linux/iov_iter.h:247 [inline] iterate_and_advance include/linux/iov_iter.h:271 [inline] _copy_to_iter+0x2c1/0xb20 lib/iov_iter.c:186 copy_page_to_iter+0x171/0x2b0 lib/iov_iter.c:381 process_vm_rw_pages mm/process_vm_access.c:45 [inline] process_vm_rw_single_vec mm/process_vm_access.c:118 [inline] process_vm_rw_core mm/process_vm_access.c:216 [inline] process_vm_rw+0x5ef/0x8c0 mm/process_vm_access.c:284 __do_sys_process_vm_readv mm/process_vm_access.c:296 [inline] __se_sys_process_vm_readv mm/process_vm_access.c:292 [inline] __x64_sys_process_vm_readv+0x7a/0x90 mm/process_vm_access.c:292 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 read to 0xffff888237d2a690 of 4 bytes by task 27996 on cpu 0: drain_all_stock+0xd3/0x2e0 mm/memcontrol.c:2430 try_charge_memcg+0x6c2/0xd20 mm/memcontrol.c:2790 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] kmem_cache_alloc+0x18d/0x2d0 mm/slub.c:3867 kmem_cache_zalloc include/linux/slab.h:701 [inline] alloc_buffer_head+0x36/0x200 fs/buffer.c:2997 folio_alloc_buffers+0x167/0x300 fs/buffer.c:924 create_empty_buffers+0x2c/0x200 fs/buffer.c:1650 folio_create_buffers fs/buffer.c:1761 [inline] __block_write_begin_int+0x1da/0xf80 fs/buffer.c:2084 __block_write_begin+0x5e/0x110 fs/buffer.c:2152 ext4_da_write_begin+0x31a/0x550 fs/ext4/inode.c:2896 generic_perform_write+0x1c9/0x410 mm/filemap.c:3930 ext4_buffered_write_iter+0x1f6/0x370 fs/ext4/file.c:299 ext4_file_write_iter+0x297/0xe10 __kernel_write_iter+0x25f/0x480 fs/read_write.c:523 dump_emit_page fs/coredump.c:888 [inline] dump_user_range+0x25d/0x480 fs/coredump.c:915 elf_core_dump+0x1a8e/0x1bb0 fs/binfmt_elf.c:2077 do_coredump+0x102a/0x1890 fs/coredump.c:764 get_signal+0xdb5/0x10a0 kernel/signal.c:2879 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+0x9c/0x130 kernel/entry/common.c:225 irqentry_exit+0x12/0x40 kernel/entry/common.c:328 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 value changed: 0x0000003e -> 0x0000003d Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 27996 Comm: syz-executor.0 Not tainted 6.8.0-rc4-syzkaller-00014-g7e90b5c295ec #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 ==================================================================