================================================================== BUG: KCSAN: data-race in virtqueue_disable_cb / virtqueue_disable_cb write to 0xffff8881024cf278 of 2 bytes by interrupt on cpu 1: virtqueue_disable_cb_split drivers/virtio/virtio_ring.c:874 [inline] virtqueue_disable_cb+0x7a/0x150 drivers/virtio/virtio_ring.c:2566 skb_xmit_done+0x65/0x140 drivers/net/virtio_net.c:755 vring_interrupt+0x152/0x180 drivers/virtio/virtio_ring.c:2715 __handle_irq_event_percpu+0x90/0x440 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+0x188/0x4f0 kernel/irq/chip.c:797 generic_handle_irq_desc include/linux/irqdesc.h:173 [inline] handle_irq arch/x86/kernel/irq.c:254 [inline] call_irq_handler arch/x86/kernel/irq.c:266 [inline] __common_interrupt+0x63/0x100 arch/x86/kernel/irq.c:292 common_interrupt+0x3e/0x90 arch/x86/kernel/irq.c:285 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 __rcu_read_unlock+0x0/0x70 kernel/rcu/tree_plugin.h:420 rcu_read_unlock include/linux/rcupdate.h:873 [inline] ip_local_deliver_finish+0x189/0x220 net/ipv4/ip_input.c:234 NF_HOOK include/linux/netfilter.h:317 [inline] ip_local_deliver+0xe8/0x1c0 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:469 [inline] ip_sublist_rcv_finish net/ipv4/ip_input.c:579 [inline] ip_list_rcv_finish net/ipv4/ip_input.c:628 [inline] ip_sublist_rcv+0x56b/0x650 net/ipv4/ip_input.c:636 ip_list_rcv+0x261/0x290 net/ipv4/ip_input.c:670 __netif_receive_skb_list_ptype net/core/dev.c:6020 [inline] __netif_receive_skb_list_core+0x4dc/0x500 net/core/dev.c:6067 __netif_receive_skb_list net/core/dev.c:6119 [inline] netif_receive_skb_list_internal+0x487/0x600 net/core/dev.c:6210 gro_normal_list include/net/gro.h:532 [inline] napi_complete_done+0x1a3/0x410 net/core/dev.c:6580 virtqueue_napi_complete drivers/net/virtio_net.c:737 [inline] virtnet_poll+0x18c5/0x1d10 drivers/net/virtio_net.c:3076 __napi_poll+0x66/0x3a0 net/core/dev.c:7414 napi_poll net/core/dev.c:7478 [inline] net_rx_action+0x391/0x830 net/core/dev.c:7605 handle_softirqs+0xb7/0x290 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] invoke_softirq kernel/softirq.c:453 [inline] __irq_exit_rcu+0x3a/0xc0 kernel/softirq.c:680 common_interrupt+0x83/0x90 arch/x86/kernel/irq.c:285 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:95 [inline] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irq+0x2f/0x50 kernel/locking/spinlock.c:202 spin_unlock_irq include/linux/spinlock.h:401 [inline] blk_insert_flush+0x2dd/0x310 block/blk-flush.c:456 blk_mq_submit_bio+0xb70/0xf50 block/blk-mq.c:3204 __submit_bio+0xed/0x4d0 block/blk-core.c:635 __submit_bio_noacct_mq block/blk-core.c:722 [inline] submit_bio_noacct_nocheck+0x208/0x6a0 block/blk-core.c:751 submit_bio_noacct+0x6c8/0x8f0 block/blk-core.c:874 submit_bio+0x227/0x240 block/blk-core.c:916 submit_bio_wait+0x86/0xd0 block/bio.c:1361 blkdev_issue_flush+0x52/0x80 block/blk-flush.c:473 ext4_sync_file+0x47f/0x690 fs/ext4/fsync.c:167 vfs_fsync_range+0x10a/0x130 fs/sync.c:187 generic_write_sync include/linux/fs.h:3031 [inline] ext4_buffered_write_iter+0x34f/0x3c0 fs/ext4/file.c:305 ext4_dio_write_iter fs/ext4/file.c:613 [inline] ext4_file_write_iter+0xdbf/0xf00 fs/ext4/file.c:721 iter_file_splice_write+0x5ef/0x970 fs/splice.c:738 do_splice_from fs/splice.c:935 [inline] direct_splice_actor+0x153/0x2a0 fs/splice.c:1158 splice_direct_to_actor+0x30f/0x680 fs/splice.c:1102 do_splice_direct_actor fs/splice.c:1201 [inline] do_splice_direct+0xda/0x150 fs/splice.c:1227 do_sendfile+0x380/0x650 fs/read_write.c:1370 __do_sys_sendfile64 fs/read_write.c:1431 [inline] __se_sys_sendfile64 fs/read_write.c:1417 [inline] __x64_sys_sendfile64+0x105/0x150 fs/read_write.c:1417 x64_sys_call+0xb39/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:41 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff8881024cf278 of 2 bytes by task 3297 on cpu 0: virtqueue_disable_cb_split drivers/virtio/virtio_ring.c:873 [inline] virtqueue_disable_cb+0x58/0x150 drivers/virtio/virtio_ring.c:2566 start_xmit+0x102/0x12c0 drivers/net/virtio_net.c:3321 __netdev_start_xmit include/linux/netdevice.h:5215 [inline] netdev_start_xmit include/linux/netdevice.h:5224 [inline] xmit_one net/core/dev.c:3830 [inline] dev_hard_start_xmit+0x122/0x3e0 net/core/dev.c:3846 sch_direct_xmit+0x192/0x550 net/sched/sch_generic.c:344 __dev_xmit_skb net/core/dev.c:4102 [inline] __dev_queue_xmit+0xe4f/0x1fb0 net/core/dev.c:4679 dev_queue_xmit include/linux/netdevice.h:3355 [inline] neigh_hh_output include/net/neighbour.h:523 [inline] neigh_output include/net/neighbour.h:537 [inline] ip_finish_output2+0x77f/0x8b0 net/ipv4/ip_output.c:235 __ip_finish_output net/ipv4/ip_output.c:-1 [inline] ip_finish_output+0x112/0x290 net/ipv4/ip_output.c:323 NF_HOOK_COND include/linux/netfilter.h:306 [inline] ip_output+0xad/0x170 net/ipv4/ip_output.c:433 dst_output include/net/dst.h:459 [inline] ip_local_out net/ipv4/ip_output.c:129 [inline] __ip_queue_xmit+0xb25/0xb40 net/ipv4/ip_output.c:527 ip_queue_xmit+0x39/0x50 net/ipv4/ip_output.c:541 __tcp_transmit_skb+0x1641/0x1a60 net/ipv4/tcp_output.c:1479 __tcp_send_ack+0x227/0x350 net/ipv4/tcp_output.c:4279 tcp_send_ack+0x29/0x30 net/ipv4/tcp_output.c:4285 __tcp_cleanup_rbuf+0xd3/0x2c0 net/ipv4/tcp.c:1544 tcp_cleanup_rbuf net/ipv4/tcp.c:1555 [inline] tcp_recvmsg_locked+0x1aec/0x1fd0 net/ipv4/tcp.c:2878 tcp_recvmsg+0x12e/0x490 net/ipv4/tcp.c:2908 inet_recvmsg+0xb7/0x290 net/ipv4/af_inet.c:883 sock_recvmsg_nosec net/socket.c:1017 [inline] sock_recvmsg+0xf6/0x170 net/socket.c:1039 sock_read_iter+0x152/0x1a0 net/socket.c:1109 new_sync_read fs/read_write.c:491 [inline] vfs_read+0x5cd/0x6f0 fs/read_write.c:572 ksys_read+0xda/0x1a0 fs/read_write.c:715 __do_sys_read fs/read_write.c:724 [inline] __se_sys_read fs/read_write.c:722 [inline] __x64_sys_read+0x40/0x50 fs/read_write.c:722 x64_sys_call+0x2d77/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:1 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x0000 -> 0x0001 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 3297 Comm: syz-executor Not tainted 6.16.0-rc7-syzkaller-00105-g2942242dde89 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 ==================================================================