Commit a8c9bd3b authored by Esben Haabendal's avatar Esben Haabendal Committed by David S. Miller
Browse files

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: default avatarEsben Haabendal <esben@geanix.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f14f5c11
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);