[PATCH] fix a potential memory leak in stmmac_xdp_enable_pool()
Haoxiang Li
lihaoxiang at isrc.iscas.ac.cn
Sun Jan 25 05:54:12 PST 2026
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 at vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang at isrc.iscas.ac.cn>
---
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
More information about the linux-arm-kernel
mailing list