[PATCH v2 net 0/7] virtio_net: Fix problems around XDP tx and napi_tx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



While I'm looking into how to account standard tx counters on XDP tx
processing, I found several bugs around XDP tx and napi_tx.

Patch1: Fix oops on error path. Patch2 depends on this.
Patch2: Fix memory corruption on freeing xdp_frames with napi_tx enabled.
Patch3: Minor fix patch5 depends on.
Patch4: Fix memory corruption on processing xdp_frames when XDP is disabled.
  Also patch5 depends on this.
Patch5: Fix memory corruption on processing xdp_frames while XDP is being
  disabled.
Patch6: Minor fix patch7 depends on.
Patch7: Fix memory corruption on freeing sk_buff or xdp_frames when a normal
  queue is reused for XDP and vise versa.

v2:
- patch5: Make rcu_assign_pointer/synchronize_net conditional instead of
          _virtnet_set_queues.
- patch7: Use napi_consume_skb() instead of dev_consume_skb_any()

Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx>

Toshiaki Makita (7):
  virtio_net: Don't enable NAPI when interface is down
  virtio_net: Don't call free_old_xmit_skbs for xdp_frames
  virtio_net: Fix not restoring real_num_rx_queues
  virtio_net: Fix out of bounds access of sq
  virtio_net: Don't process redirected XDP frames when XDP is disabled
  virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs
  virtio_net: Differentiate sk_buff and xdp_frame on freeing

 drivers/net/virtio_net.c | 159 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 112 insertions(+), 47 deletions(-)

-- 
1.8.3.1


_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization



[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux