================================================================== BUG: KCSAN: data-race in relay_switch_subbuf / relay_switch_subbuf write to 0xffff888103befe38 of 8 bytes by task 4652 on cpu 1: relay_switch_subbuf+0x399/0x3a0 kernel/relay.c:708 relay_reserve include/linux/relay.h:248 [inline] __blk_add_trace+0x665/0x720 kernel/trace/blktrace.c:276 blk_add_trace_bio_remap+0x161/0x170 kernel/trace/blktrace.c:1021 trace_block_bio_remap include/trace/events/block.h:507 [inline] blk_partition_remap block/blk-core.c:551 [inline] submit_bio_noacct+0x846/0x8a0 block/blk-core.c:742 submit_bio+0xb7/0xc0 block/blk-core.c:834 swap_writepage_bdev_async mm/page_io.c:368 [inline] __swap_writepage+0x625/0xc90 mm/page_io.c:386 swap_writepage+0x6e/0x120 mm/page_io.c:204 shmem_writepage+0x7ac/0x970 mm/shmem.c:1521 pageout mm/vmscan.c:1355 [inline] shrink_folio_list+0x1952/0x2540 mm/vmscan.c:2015 shrink_inactive_list mm/vmscan.c:2614 [inline] shrink_list mm/vmscan.c:2855 [inline] shrink_lruvec+0xd80/0x17a0 mm/vmscan.c:6319 shrink_node_memcgs mm/vmscan.c:6505 [inline] shrink_node+0xab3/0x15c0 mm/vmscan.c:6540 shrink_zones mm/vmscan.c:6779 [inline] do_try_to_free_pages+0x43d/0xce0 mm/vmscan.c:6841 try_to_free_mem_cgroup_pages+0x1e2/0x480 mm/vmscan.c:7156 try_charge_memcg+0x280/0xd30 mm/memcontrol.c:2691 try_charge mm/memcontrol.c:2833 [inline] charge_memcg+0x51/0x200 mm/memcontrol.c:6996 __mem_cgroup_charge+0x29/0xa0 mm/memcontrol.c:7017 mem_cgroup_charge include/linux/memcontrol.h:686 [inline] shmem_add_to_page_cache+0x2ba/0x4f0 mm/shmem.c:780 shmem_get_folio_gfp+0x695/0xc30 mm/shmem.c:2050 shmem_get_folio mm/shmem.c:2143 [inline] shmem_write_begin+0xa6/0x210 mm/shmem.c:2688 generic_perform_write+0x1c9/0x410 mm/filemap.c:3969 shmem_file_write_iter+0xc8/0xe0 mm/shmem.c:2865 call_write_iter include/linux/fs.h:1956 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x4ab/0x7d0 fs/read_write.c:584 ksys_write+0xeb/0x1a0 fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __x64_sys_write+0x42/0x50 fs/read_write.c:646 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 write to 0xffff888103befe38 of 8 bytes by task 4637 on cpu 0: relay_switch_subbuf+0x399/0x3a0 kernel/relay.c:708 relay_reserve include/linux/relay.h:248 [inline] __blk_add_trace+0x665/0x720 kernel/trace/blktrace.c:276 blk_add_trace_bio kernel/trace/blktrace.c:903 [inline] blk_add_trace_bio_queue+0x12c/0x140 kernel/trace/blktrace.c:935 trace_block_bio_queue include/trace/events/block.h:383 [inline] submit_bio_noacct_nocheck+0x57d/0x5e0 block/blk-core.c:690 submit_bio_noacct+0x700/0x8a0 block/blk-core.c:801 submit_bio+0xb7/0xc0 block/blk-core.c:834 swap_writepage_bdev_async mm/page_io.c:368 [inline] __swap_writepage+0x625/0xc90 mm/page_io.c:386 swap_writepage+0x6e/0x120 mm/page_io.c:204 shmem_writepage+0x7ac/0x970 mm/shmem.c:1521 pageout mm/vmscan.c:1355 [inline] shrink_folio_list+0x1952/0x2540 mm/vmscan.c:2015 shrink_inactive_list mm/vmscan.c:2614 [inline] shrink_list mm/vmscan.c:2855 [inline] shrink_lruvec+0xd80/0x17a0 mm/vmscan.c:6319 shrink_node_memcgs mm/vmscan.c:6505 [inline] shrink_node+0xab3/0x15c0 mm/vmscan.c:6540 shrink_zones mm/vmscan.c:6779 [inline] do_try_to_free_pages+0x43d/0xce0 mm/vmscan.c:6841 try_to_free_mem_cgroup_pages+0x1e2/0x480 mm/vmscan.c:7156 try_charge_memcg+0x280/0xd30 mm/memcontrol.c:2691 obj_cgroup_charge_pages+0xab/0x130 mm/memcontrol.c:3105 __memcg_kmem_charge_page+0x1d5/0x2c0 mm/memcontrol.c:3131 __alloc_pages+0x1bb/0x340 mm/page_alloc.c:4443 alloc_pages+0x3e1/0x4e0 vm_area_alloc_pages mm/vmalloc.c:3063 [inline] __vmalloc_area_node mm/vmalloc.c:3139 [inline] __vmalloc_node_range+0x6d2/0xea0 mm/vmalloc.c:3320 kvmalloc_node+0x121/0x160 mm/util.c:632 kvmalloc include/linux/slab.h:737 [inline] xt_alloc_table_info+0x3d/0x80 net/netfilter/x_tables.c:1192 do_replace net/ipv4/netfilter/arp_tables.c:970 [inline] do_arpt_set_ctl+0x634/0x13b0 net/ipv4/netfilter/arp_tables.c:1421 nf_setsockopt+0x18d/0x1b0 net/netfilter/nf_sockopt.c:101 ip_setsockopt+0xe6/0x100 net/ipv4/ip_sockglue.c:1429 tcp_setsockopt+0x90/0xa0 net/ipv4/tcp.c:3671 sock_common_setsockopt+0x61/0x70 net/core/sock.c:3699 __sys_setsockopt+0x1d7/0x240 net/socket.c:2325 __do_sys_setsockopt net/socket.c:2336 [inline] __se_sys_setsockopt net/socket.c:2333 [inline] __x64_sys_setsockopt+0x66/0x80 net/socket.c:2333 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 value changed: 0x0000000000000040 -> 0x0000000000000030 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 4637 Comm: syz-executor.5 Not tainted 6.6.0-rc6-syzkaller-00043-gdd72f9c7e512 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023 ================================================================== syz-executor.5 (4637) used greatest stack depth: 8224 bytes left