Re: [PATCH net v2 0/9] gve: various XDP fixes

From: Joshua Washington

Date: Tue Sep 29 2026 - 13:49:15 EST


On Tue, Sep 22, 2026 at 12:45 PM Joshua Washington <joshwash@xxxxxxxxxx> wrote:
>
> 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
>

In the interest of getting some of the more trivial fixes merged, I
will send out a v3 with only the very simple fixes, and continue
working on the more problematic/invasive changes in the background.
This will include patches 2, 3, and 5.

-- Josh