In stmmac_xdp_enable_pool(), if stmmac_xsk_wakeup() fails, the memory allocated by xsk_pool_dma_map() should be released. Add xsk_pool_dma_unmap() to do so. Fixes: bba2556efad6 ("net: stmmac: Enable RX via AF_XDP zero-copy") Cc: stable@vger.kernel.org Signed-off-by: Haoxiang Li --- drivers/net/ethernet/stmicro/stmmac/stmmac_xdp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_xdp.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_xdp.c index d7e4db7224b0..7d89d6066ea3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_xdp.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_xdp.c @@ -48,8 +48,10 @@ static int stmmac_xdp_enable_pool(struct stmmac_priv *priv, napi_enable(&ch->rxtx_napi); err = stmmac_xsk_wakeup(priv->dev, queue, XDP_WAKEUP_RX); - if (err) + if (err) { + xsk_pool_dma_unmap(pool, STMMAC_RX_DMA_ATTR); return err; + } } return 0; -- 2.25.1