From a8c9bd3ba84084b6cca704d5b21ee0ba971b748b Mon Sep 17 00:00:00 2001 From: Esben Haabendal Date: Tue, 30 Apr 2019 09:17:55 +0200 Subject: [PATCH] net: ll_temac: Fix iommu/swiotlb leak Unmap the actual buffer length, not the amount of data received, avoiding resource exhaustion of swiotlb (seen on x86_64 platform). Signed-off-by: Esben Haabendal Reviewed-by: Andrew Lunn Signed-off-by: David S. Miller --- drivers/net/ethernet/xilinx/ll_temac_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c index d3899e7..7e42746 100644 --- a/drivers/net/ethernet/xilinx/ll_temac_main.c +++ b/drivers/net/ethernet/xilinx/ll_temac_main.c @@ -820,7 +820,7 @@ static void ll_temac_recv(struct net_device *ndev) length = be32_to_cpu(cur_p->app4) & 0x3FFF; dma_unmap_single(ndev->dev.parent, be32_to_cpu(cur_p->phys), - length, DMA_FROM_DEVICE); + XTE_MAX_JUMBO_FRAME_SIZE, DMA_FROM_DEVICE); skb_put(skb, length); skb->protocol = eth_type_trans(skb, ndev); -- 2.7.4