net/mlx5e: XDP, Fix XDP_REDIRECT mpwqe page fragment leaks on shutdown
authorDragos Tatulea <dtatulea@nvidia.com>
Mon, 25 Sep 2023 14:50:18 +0000 (17:50 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 12 Oct 2023 18:10:34 +0000 (11:10 -0700)
commitaaab619ccd07a32e5b29aa7e59b20de1dcc7a29e
tree274b9e5d75cbb4ac22c66094acbee91a14d5ac58
parentef9369e9c30846f5e052a11ccc70e1f6b8dc557a
net/mlx5e: XDP, Fix XDP_REDIRECT mpwqe page fragment leaks on shutdown

When mlx5e_xdp_xmit is called without the XDP_XMIT_FLUSH set it is
possible that it leaves a mpwqe session open. That is ok during runtime:
the session will be closed on the next call to mlx5e_xdp_xmit. But
having a mpwqe session still open at XDP sq close time is problematic:
the pc counter is not updated before flushing the contents of the
xdpi_fifo. This results in leaking page fragments.

The fix is to always close the mpwqe session at the end of
mlx5e_xdp_xmit, regardless of the XDP_XMIT_FLUSH flag being set or not.

Fixes: 5e0d2eef771e ("net/mlx5e: XDP, Support Enhanced Multi-Packet TX WQE")
Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c