Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU

From: Herbert Xu
Date: Wed Sep 20 2017 - 04:02:31 EST


Harsh Jain <Harsh@xxxxxxxxxxx> wrote:
>
> While debugging DMA mapping error in chelsio crypto driver we observed that when scatter/gather list received by driver has some entry with page->offset > 4096 (PAGE_SIZE). It starts giving DMA error.  Without IOMMU it works fine.

This is not a bug. The network stack can and will feed us such
SG lists.

> 2) It cannot be driver's responsibilty to update received sg entries to adjust offset and page
> because we are not the only one who directly uses received sg list.

No the driver must deal with this. Having said that, if we can
improve our driver helper interface to make this easier then we
should do that too. What we certainly shouldn't do is to take a
whack-a-mole approach like this patch does.

Cheers,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt