• Jason Wang's avatar
    virtio-net: correctly update XDP_TX counters · ca9e83b4
    Jason Wang authored
    Commit 5b8f3c8d ("virtio_net: Add XDP related stats") tries to
    count TX XDP stats in virtnet_receive(). This will cause several
    issues:
    
    - virtnet_xdp_sq() was called without checking whether or not XDP is
      set. This may cause out of bound access when there's no enough txq
      for XDP.
    - Stats were updated even if there's no XDP/XDP_TX.
    
    Fixing this by reusing virtnet_xdp_xmit() for XDP_TX which can counts
    TX XDP counter itself and remove the unnecessary tx stats embedded in
    rx stats.
    
    Reported-by: syzbot+604f8271211546f5b3c7@syzkaller.appspotmail.com
    Fixes: 5b8f3c8d ("virtio_net: Add XDP related stats")
    Cc: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ca9e83b4
virtio_net.c 81.8 KB