]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: ena: xdp: XDP_TX: fix memory leak
authorSameeh Jubran <sameehj@amazon.com>
Wed, 3 Jun 2020 08:50:22 +0000 (08:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Jun 2020 22:43:01 +0000 (15:43 -0700)
When sending very high packet rate, the XDP tx queues can get full and
start dropping packets. In this case we don't free the pages which
results in ena driver draining the system memory.

Fix:
Simply free the pages when necessary.

Fixes: 548c4940b9f1 ("net: ena: Implement XDP_TX action")
Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_netdev.c

index a0af74c939715984665a95dfd7362ad3fbe70e81..e101fc934f833437714c366277c6601f203534e5 100644 (file)
@@ -355,7 +355,7 @@ error_unmap_dma:
        ena_unmap_tx_buff(xdp_ring, tx_info);
        tx_info->xdpf = NULL;
 error_drop_packet:
-
+       __free_page(tx_info->xdp_rx_page);
        return NETDEV_TX_OK;
 }