diff options
| author | Meghana Malladi <m-malladi@ti.com> | 2026-03-11 15:24:41 +0530 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-03-14 12:14:44 -0700 |
| commit | 719d3e71691db7c4f1658ba5a6d1472928121594 (patch) | |
| tree | 5df1bc5afc9a7106cb281fbdcdc4b792d58293dd /include/linux/etherdevice.h | |
| parent | fa103fc8f56954a60699a29215cb713448a39e87 (diff) | |
net: ti: icssg-prueth: Fix memory leak in XDP_DROP for non-zero-copy mode
Page recycling was removed from the XDP_DROP path in emac_run_xdp() to
avoid conflicts with AF_XDP zero-copy mode, which uses xsk_buff_free()
instead.
However, this causes a memory leak when running XDP programs that drop
packets in non-zero-copy mode (standard page pool mode). The pages are
never returned to the page pool, leading to OOM conditions.
Fix this by handling cleanup in the caller, emac_rx_packet().
When emac_run_xdp() returns ICSSG_XDP_CONSUMED for XDP_DROP, the
caller now recycles the page back to the page pool. The zero-copy
path, emac_rx_packet_zc() already handles cleanup correctly with
xsk_buff_free().
Fixes: 7a64bb388df3 ("net: ti: icssg-prueth: Add AF_XDP zero copy for RX")
Signed-off-by: Meghana Malladi <m-malladi@ti.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260311095441.1691636-1-m-malladi@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/etherdevice.h')
0 files changed, 0 insertions, 0 deletions
