================================================================== BUG: KCSAN: data-race in relay_switch_subbuf / relay_switch_subbuf write to 0xffff8881c08e8038 of 8 bytes by interrupt 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_rq kernel/trace/blktrace.c:844 [inline] blk_add_trace_rq_complete+0x1b3/0x1c0 kernel/trace/blktrace.c:876 trace_block_rq_complete include/trace/events/block.h:149 [inline] blk_update_request+0x8f4/0x950 block/blk-mq.c:901 scsi_end_request+0x52/0x4e0 drivers/scsi/scsi_lib.c:537 scsi_io_completion+0x9f/0x200 drivers/scsi/scsi_lib.c:975 scsi_finish_command+0x1bb/0x1d0 drivers/scsi/scsi.c:198 scsi_complete+0x19a/0x1d0 drivers/scsi/scsi_lib.c:1437 blk_complete_reqs block/blk-mq.c:1136 [inline] blk_done_softirq+0x73/0xa0 block/blk-mq.c:1141 __do_softirq+0xc4/0x27b kernel/softirq.c:553 invoke_softirq kernel/softirq.c:427 [inline] __irq_exit_rcu kernel/softirq.c:632 [inline] irq_exit_rcu+0x3b/0x90 kernel/softirq.c:644 common_interrupt+0x81/0x90 arch/x86/kernel/irq.c:247 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:640 __rcu_read_unlock+0x0/0x70 kernel/rcu/tree_plugin.h:408 rcu_read_unlock include/linux/rcupdate.h:782 [inline] mod_memcg_page_state include/linux/memcontrol.h:1019 [inline] __vmalloc_area_node mm/vmalloc.c:3147 [inline] __vmalloc_node_range+0xad5/0xec0 mm/vmalloc.c:3320 kvmalloc_node+0x121/0x170 mm/util.c:642 kvmalloc include/linux/slab.h:728 [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/0x13c0 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:1418 tcp_setsockopt+0x90/0xa0 net/ipv4/tcp.c:3724 sock_common_setsockopt+0x61/0x70 net/core/sock.c:3716 do_sock_setsockopt net/socket.c:2311 [inline] __sys_setsockopt+0x1d4/0x240 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0x66/0x80 net/socket.c:2340 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 write to 0xffff8881c08e8038 of 8 bytes by task 16251 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:698 submit_bio_noacct+0x67d/0x830 block/blk-core.c:825 submit_bio+0xb7/0xc0 block/blk-core.c:858 swap_writepage_bdev_async mm/page_io.c:371 [inline] __swap_writepage+0x612/0xc40 mm/page_io.c:389 swap_writepage+0xa9/0x150 mm/page_io.c:209 pageout mm/vmscan.c:654 [inline] shrink_folio_list+0x196b/0x2570 mm/vmscan.c:1316 shrink_inactive_list mm/vmscan.c:1914 [inline] shrink_list mm/vmscan.c:2155 [inline] shrink_lruvec+0xd80/0x17a0 mm/vmscan.c:5681 shrink_node_memcgs mm/vmscan.c:5867 [inline] shrink_node+0xac3/0x15d0 mm/vmscan.c:5902 shrink_zones mm/vmscan.c:6141 [inline] do_try_to_free_pages+0x43d/0xce0 mm/vmscan.c:6203 try_to_free_mem_cgroup_pages+0x1e2/0x480 mm/vmscan.c:6518 try_charge_memcg+0x280/0xd20 mm/memcontrol.c:2777 obj_cgroup_charge_pages+0xbd/0x1c0 mm/memcontrol.c:3296 __memcg_kmem_charge_page+0x9c/0x170 mm/memcontrol.c:3322 __alloc_pages+0x1bb/0x340 mm/page_alloc.c:4584 alloc_pages_mpol+0xb1/0x1d0 mm/mempolicy.c:2133 alloc_pages+0xe0/0x100 mm/mempolicy.c:2204 vm_area_alloc_pages mm/vmalloc.c:3063 [inline] __vmalloc_area_node mm/vmalloc.c:3139 [inline] __vmalloc_node_range+0x6ee/0xec0 mm/vmalloc.c:3320 kvmalloc_node+0x121/0x170 mm/util.c:642 kvmalloc include/linux/slab.h:728 [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/0x13c0 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:1418 tcp_setsockopt+0x90/0xa0 net/ipv4/tcp.c:3724 sock_common_setsockopt+0x61/0x70 net/core/sock.c:3716 do_sock_setsockopt net/socket.c:2311 [inline] __sys_setsockopt+0x1d4/0x240 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0x66/0x80 net/socket.c:2340 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 value changed: 0x0000000000000040 -> 0x0000000000000030 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 16251 Comm: syz-executor.1 Tainted: G W 6.8.0-rc2-syzkaller-00055-g6764c317b6bb #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 ================================================================== syz-executor.1 (16251) used greatest stack depth: 8408 bytes left