================================================================== BUG: KCSAN: data-race in virtqueue_enable_cb_delayed / virtqueue_enable_cb_prepare read to 0xffff888129352af0 of 2 bytes by interrupt on cpu 1: virtqueue_enable_cb_delayed_split drivers/virtio/virtio_ring.c:794 [inline] virtqueue_enable_cb_delayed+0x1dc/0x4d0 drivers/virtio/virtio_ring.c:2006 start_xmit+0xb0f/0xbe0 drivers/net/virtio_net.c:1565 __netdev_start_xmit include/linux/netdevice.h:4413 [inline] netdev_start_xmit include/linux/netdevice.h:4427 [inline] xmit_one net/core/dev.c:3199 [inline] dev_hard_start_xmit+0xef/0x430 net/core/dev.c:3215 sch_direct_xmit+0x2b3/0x900 net/sched/sch_generic.c:313 __dev_xmit_skb net/core/dev.c:3400 [inline] __dev_queue_xmit+0x19a3/0x1b40 net/core/dev.c:3761 dev_queue_xmit+0x21/0x30 net/core/dev.c:3825 neigh_hh_output include/net/neighbour.h:500 [inline] neigh_output include/net/neighbour.h:509 [inline] ip_finish_output2+0x836/0xe40 net/ipv4/ip_output.c:228 __ip_finish_output net/ipv4/ip_output.c:308 [inline] __ip_finish_output+0x23a/0x490 net/ipv4/ip_output.c:290 ip_finish_output+0x41/0x160 net/ipv4/ip_output.c:318 NF_HOOK_COND include/linux/netfilter.h:294 [inline] ip_output+0xdf/0x210 net/ipv4/ip_output.c:432 dst_output include/net/dst.h:436 [inline] ip_local_out+0x74/0x90 net/ipv4/ip_output.c:125 __ip_queue_xmit+0x3a8/0xa40 net/ipv4/ip_output.c:532 ip_queue_xmit+0x45/0x60 include/net/ip.h:237 __tcp_transmit_skb+0xe81/0x1d60 net/ipv4/tcp_output.c:1169 __tcp_send_ack+0x246/0x300 net/ipv4/tcp_output.c:3696 tcp_send_ack+0x34/0x40 net/ipv4/tcp_output.c:3702 __tcp_ack_snd_check+0xd9/0x4f0 net/ipv4/tcp_input.c:5243 tcp_rcv_established+0xce9/0xf50 net/ipv4/tcp_input.c:5674 tcp_v4_do_rcv+0x3b5/0x520 net/ipv4/tcp_ipv4.c:1564 tcp_v4_rcv+0x19ec/0x1bd0 net/ipv4/tcp_ipv4.c:1945 ip_protocol_deliver_rcu+0x4d/0x420 net/ipv4/ip_input.c:204 ip_local_deliver_finish+0x110/0x140 net/ipv4/ip_input.c:231 NF_HOOK include/linux/netfilter.h:305 [inline] NF_HOOK include/linux/netfilter.h:299 [inline] ip_local_deliver+0x133/0x210 net/ipv4/ip_input.c:252 dst_input include/net/dst.h:442 [inline] ip_rcv_finish+0x121/0x160 net/ipv4/ip_input.c:413 NF_HOOK include/linux/netfilter.h:305 [inline] NF_HOOK include/linux/netfilter.h:299 [inline] ip_rcv+0x18f/0x1a0 net/ipv4/ip_input.c:523 __netif_receive_skb_one_core+0xa7/0xe0 net/core/dev.c:4929 __netif_receive_skb+0x37/0xf0 net/core/dev.c:5043 netif_receive_skb_internal+0x59/0x190 net/core/dev.c:5133 napi_skb_finish net/core/dev.c:5596 [inline] napi_gro_receive+0x28f/0x330 net/core/dev.c:5629 receive_buf+0x284/0x30b0 drivers/net/virtio_net.c:1061 virtnet_receive drivers/net/virtio_net.c:1323 [inline] virtnet_poll+0x436/0x7d0 drivers/net/virtio_net.c:1428 napi_poll net/core/dev.c:6311 [inline] net_rx_action+0x3ae/0xa90 net/core/dev.c:6379 __do_softirq+0x115/0x33f kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0xbb/0xe0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:536 [inline] do_IRQ+0x81/0x130 arch/x86/kernel/irq.c:263 ret_from_intr+0x0/0x19 arch_local_irq_enable arch/x86/include/asm/paravirt.h:766 [inline] preempt_schedule_irq+0x4d/0x90 kernel/sched/core.c:4327 restore_regs_and_return_to_kernel+0x0/0x25 arch_local_irq_restore arch/x86/include/asm/paravirt.h:756 [inline] kcsan_setup_watchpoint+0x1d4/0x460 kernel/kcsan/core.c:436 check_access kernel/kcsan/core.c:466 [inline] __tsan_write8 kernel/kcsan/core.c:596 [inline] __tsan_unaligned_write8+0xc4/0x100 kernel/kcsan/core.c:596 fib6_select_path+0x25d/0x5c0 net/ipv6/route.c:465 ip6_pol_route+0x141/0x5c0 net/ipv6/route.c:2208 ip6_pol_route_output+0x48/0x60 net/ipv6/route.c:2456 fib6_rule_lookup+0x95/0x470 net/ipv6/fib6_rules.c:113 ip6_route_output_flags_noref+0x16b/0x230 net/ipv6/route.c:2488 ip6_route_output_flags+0x50/0x1a0 net/ipv6/route.c:2501 ip6_dst_lookup_tail+0x25d/0xc30 net/ipv6/ip6_output.c:1052 ip6_dst_lookup_flow+0x68/0x120 net/ipv6/ip6_output.c:1153 rawv6_sendmsg+0x82c/0x21e0 net/ipv6/raw.c:928 inet_sendmsg+0x6d/0x90 net/ipv4/af_inet.c:807 sock_sendmsg_nosec net/socket.c:637 [inline] sock_sendmsg+0x9f/0xc0 net/socket.c:657 ___sys_sendmsg+0x2b7/0x5d0 net/socket.c:2311 __sys_sendmmsg+0x123/0x350 net/socket.c:2413 __do_sys_sendmmsg net/socket.c:2442 [inline] __se_sys_sendmmsg net/socket.c:2439 [inline] __x64_sys_sendmmsg+0x64/0x80 net/socket.c:2439 do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x44/0xa9 write to 0xffff888129352af0 of 2 bytes by interrupt on cpu 0: virtqueue_enable_cb_prepare_split drivers/virtio/virtio_ring.c:762 [inline] virtqueue_enable_cb_prepare+0x1ce/0x2b0 drivers/virtio/virtio_ring.c:1946 virtqueue_napi_complete+0x2c/0xa0 drivers/net/virtio_net.c:328 virtnet_poll_tx+0x15f/0x1d0 drivers/net/virtio_net.c:1496 napi_poll net/core/dev.c:6311 [inline] net_rx_action+0x3ae/0xa90 net/core/dev.c:6379 __do_softirq+0x115/0x33f kernel/softirq.c:292 do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1082 do_softirq.part.0+0x6b/0x80 kernel/softirq.c:337 do_softirq kernel/softirq.c:329 [inline] __local_bh_enable_ip+0x76/0x80 kernel/softirq.c:189 local_bh_enable include/linux/bottom_half.h:32 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:688 [inline] ip6_finish_output2+0x7bb/0xec0 net/ipv6/ip6_output.c:117 __ip6_finish_output net/ipv6/ip6_output.c:142 [inline] __ip6_finish_output+0x2d7/0x330 net/ipv6/ip6_output.c:127 ip6_finish_output+0x41/0x160 net/ipv6/ip6_output.c:152 NF_HOOK_COND include/linux/netfilter.h:294 [inline] ip6_output+0xf2/0x280 net/ipv6/ip6_output.c:175 dst_output include/net/dst.h:436 [inline] ip6_local_out+0x74/0x90 net/ipv6/output_core.c:179 ip6_send_skb+0x53/0x110 net/ipv6/ip6_output.c:1795 ip6_push_pending_frames+0x9d/0xc0 net/ipv6/ip6_output.c:1815 rawv6_push_pending_frames net/ipv6/raw.c:613 [inline] rawv6_sendmsg+0x1d22/0x21e0 net/ipv6/raw.c:956 inet_sendmsg+0x6d/0x90 net/ipv4/af_inet.c:807 sock_sendmsg_nosec net/socket.c:637 [inline] sock_sendmsg+0x9f/0xc0 net/socket.c:657 ___sys_sendmsg+0x2b7/0x5d0 net/socket.c:2311 __sys_sendmmsg+0x123/0x350 net/socket.c:2413 __do_sys_sendmmsg net/socket.c:2442 [inline] __se_sys_sendmmsg net/socket.c:2439 [inline] __x64_sys_sendmmsg+0x64/0x80 net/socket.c:2439 do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 17122 Comm: syz-executor.3 Not tainted 5.4.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================