Series |
virtio_net: Fix problems around XDP tx and napi_tx
|
expand
-
[v2,net,0/7] virtio_net: Fix problems around XDP tx and napi_tx
-
[v2,net,1/7] virtio_net: Don't enable NAPI when interface is down
-
[v2,net,2/7] virtio_net: Don't call free_old_xmit_skbs for xdp_frames
-
[v2,net,3/7] virtio_net: Fix not restoring real_num_rx_queues
-
[v2,net,4/7] virtio_net: Fix out of bounds access of sq
-
[v2,net,5/7] virtio_net: Don't process redirected XDP frames when XDP is disabled
-
[v2,net,6/7] virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs
-
[v2,net,7/7] virtio_net: Differentiate sk_buff and xdp_frame on freeing
|
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@lab.ntt.co.jp> 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(-)