================================================================== BUG: KCSAN: data-race in virtqueue_disable_cb / vring_interrupt write to 0xffff88810196a15a of 1 bytes by interrupt on cpu 1: vring_interrupt+0x128/0x170 drivers/virtio/virtio_ring.c:2466 __handle_irq_event_percpu+0x91/0x490 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0x64/0xf0 kernel/irq/handle.c:210 handle_edge_irq+0x17f/0x5a0 kernel/irq/chip.c:819 generic_handle_irq_desc include/linux/irqdesc.h:158 [inline] handle_irq arch/x86/kernel/irq.c:231 [inline] __common_interrupt+0x64/0x100 arch/x86/kernel/irq.c:250 common_interrupt+0x9e/0xc0 arch/x86/kernel/irq.c:240 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:640 native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline] acpi_safe_halt drivers/acpi/processor_idle.c:112 [inline] acpi_idle_do_entry drivers/acpi/processor_idle.c:570 [inline] acpi_idle_enter+0x282/0x360 drivers/acpi/processor_idle.c:707 cpuidle_enter_state+0x2de/0x9c0 drivers/cpuidle/cpuidle.c:239 cpuidle_enter+0x40/0x60 drivers/cpuidle/cpuidle.c:356 call_cpuidle kernel/sched/idle.c:155 [inline] cpuidle_idle_call kernel/sched/idle.c:236 [inline] do_idle+0x19a/0x240 kernel/sched/idle.c:303 cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:400 start_secondary+0x7c/0x80 arch/x86/kernel/smpboot.c:264 secondary_startup_64_no_verify+0xcf/0xdb read to 0xffff88810196a15a of 1 bytes by interrupt on cpu 0: virtqueue_disable_cb+0x1b/0x170 drivers/virtio/virtio_ring.c:2315 start_xmit+0xd0/0xbe0 drivers/net/virtio_net.c:1837 __netdev_start_xmit include/linux/netdevice.h:4865 [inline] netdev_start_xmit include/linux/netdevice.h:4879 [inline] xmit_one net/core/dev.c:3583 [inline] dev_hard_start_xmit+0x127/0x400 net/core/dev.c:3599 sch_direct_xmit+0x1b0/0x570 net/sched/sch_generic.c:342 __dev_xmit_skb net/core/dev.c:3810 [inline] __dev_queue_xmit+0xf61/0x1eb0 net/core/dev.c:4215 dev_queue_xmit include/linux/netdevice.h:3035 [inline] neigh_hh_output include/net/neighbour.h:530 [inline] neigh_output include/net/neighbour.h:544 [inline] ip_finish_output2+0x6fe/0x840 net/ipv4/ip_output.c:228 ip_finish_output+0xf4/0x240 net/ipv4/ip_output.c:316 NF_HOOK_COND include/linux/netfilter.h:291 [inline] ip_output+0xe5/0x1b0 net/ipv4/ip_output.c:430 dst_output include/net/dst.h:444 [inline] ip_local_out net/ipv4/ip_output.c:126 [inline] __ip_queue_xmit+0xa4d/0xa70 net/ipv4/ip_output.c:532 ip_queue_xmit+0x38/0x40 net/ipv4/ip_output.c:546 __tcp_transmit_skb+0x1165/0x16c0 net/ipv4/tcp_output.c:1399 __tcp_send_ack+0x1e0/0x2d0 net/ipv4/tcp_output.c:3983 tcp_send_ack+0x27/0x30 net/ipv4/tcp_output.c:3989 __tcp_ack_snd_check+0x2d5/0x500 net/ipv4/tcp_input.c:5536 tcp_ack_snd_check net/ipv4/tcp_input.c:5582 [inline] tcp_rcv_established+0x6f8/0xe50 net/ipv4/tcp_input.c:6020 tcp_v4_do_rcv+0x2ac/0x600 net/ipv4/tcp_ipv4.c:1721 tcp_v4_rcv+0x187a/0x1ad0 net/ipv4/tcp_ipv4.c:2142 ip_protocol_deliver_rcu+0x356/0x6f0 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x13d/0x1b0 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:302 [inline] ip_local_deliver+0xec/0x1c0 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:454 [inline] ip_sublist_rcv_finish net/ipv4/ip_input.c:580 [inline] ip_list_rcv_finish net/ipv4/ip_input.c:630 [inline] ip_sublist_rcv+0x4e1/0x5b0 net/ipv4/ip_input.c:638 ip_list_rcv+0x25e/0x290 net/ipv4/ip_input.c:673 __netif_receive_skb_list_ptype net/core/dev.c:5525 [inline] __netif_receive_skb_list_core+0x356/0x460 net/core/dev.c:5573 __netif_receive_skb_list net/core/dev.c:5625 [inline] netif_receive_skb_list_internal+0x4e6/0x660 net/core/dev.c:5716 gro_normal_list include/net/gro.h:433 [inline] napi_complete_done+0x1b8/0x3d0 net/core/dev.c:6056 virtqueue_napi_complete drivers/net/virtio_net.c:405 [inline] virtnet_poll+0x729/0x9a0 drivers/net/virtio_net.c:1685 __napi_poll+0x60/0x3b0 net/core/dev.c:6485 napi_poll net/core/dev.c:6552 [inline] net_rx_action+0x328/0x6c0 net/core/dev.c:6663 __do_softirq+0xe4/0x2b0 kernel/softirq.c:571 invoke_softirq kernel/softirq.c:445 [inline] __irq_exit_rcu+0x85/0x100 kernel/softirq.c:650 common_interrupt+0xa3/0xc0 arch/x86/kernel/irq.c:240 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:640 native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline] acpi_safe_halt drivers/acpi/processor_idle.c:112 [inline] acpi_idle_do_entry drivers/acpi/processor_idle.c:570 [inline] acpi_idle_enter+0x282/0x360 drivers/acpi/processor_idle.c:707 cpuidle_enter_state+0x2de/0x9c0 drivers/cpuidle/cpuidle.c:239 cpuidle_enter+0x40/0x60 drivers/cpuidle/cpuidle.c:356 call_cpuidle kernel/sched/idle.c:155 [inline] cpuidle_idle_call kernel/sched/idle.c:236 [inline] do_idle+0x19a/0x240 kernel/sched/idle.c:303 cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:400 rest_init+0xef/0xf0 init/main.c:732 arch_call_rest_init+0x9/0x10 init/main.c:894 start_kernel+0x58a/0x610 init/main.c:1148 secondary_startup_64_no_verify+0xcf/0xdb value changed: 0x00 -> 0x01 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.2.0-rc8-syzkaller-00002-gb408817d4884-dirty #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023 ==================================================================