This patch series includes a number of XDP-related fixes, both in the
control plane and the dataplane.
A summary of the changes:
1) fix an issue where XDP packets weren't being counted against NAPI
budget
2) fix an issue where XSK buffers that have not been processed are
leaked when disabling XSK pools
3) fix an XSK buffer leak when an RX error descriptor comes back from
the hardware
4) fix a NULL dereference due to incorrect registration of XSK pools on
queues not set up in XSK zero copy mode
5) fix a deadlock introduced by attempting to acquire the netdev lock
after it has already been acquired
6) fix a racy NULL dereference due to DMA umapping the XSK pool before
queues are fully stopped
7) fix potential data race on priv->xsk_pool when the field is set while
NAPIs are enabled
8) attempt to register memory model in all cases when disabling XSK
pools
9) clean xdp frames when tearing down DQO queues
---
v2:
- introduce 3 new patches (7, 8, 9) based on Sashiko feedback
- corrected stat counting for packets according work_done behavioral
change (patch 1)
Eddie Phillips (1):
gve: prevent XDP frame leak and corruption during DQO TX cleanup
Joshua Washington (8):
gve: increment work_done for XDP and error packets
gve: fix XSK buffer leak when rings are stopped
gve: fix XSK buffer leak on error descriptor
gve: don't register xsk pool on pre-existing queues in RDA mode
gve: fix napi_disable deadlock when attempting to disable XSK pools
gve: fix NULL dereference from premature XSK pool DMA unmap
gve: disable NAPI when registering XSK pools in QPL mode
gve: ensure XDP mem model is registered when disabling XSK pools
drivers/net/ethernet/google/gve/gve_main.c | 153 +++++++----
drivers/net/ethernet/google/gve/gve_rx_dqo.c | 31 ++-
drivers/net/ethernet/google/gve/gve_tx_dqo.c | 256 +++++++++++++------
3 files changed, 314 insertions(+), 126 deletions(-)
--
2.55.0.1082.g2b9226bbc0-goog