Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1739292
| From | "Raj, Ashok" <ashok.raj@intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU |
| Date | 2017-09-25 23:50 +0200 |
| Message-ID | <utJqi-3Hi-21@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <urKgO-1Dz-25@gated-at.bofh.it> <utFG1-198-5@gated-at.bofh.it> <utHot-2k6-17@gated-at.bofh.it> <utHRx-2MV-15@gated-at.bofh.it> <utI1c-2RB-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi On Mon, Sep 25, 2017 at 01:11:04PM -0700, Dan Williams wrote: > On Mon, Sep 25, 2017 at 1:05 PM, Casey Leedom <leedom@chelsio.com> wrote: > > | From: Dan Williams <dan.j.williams@intel.com> > > | Sent: Monday, September 25, 2017 12:31 PM > > | ... > > | IIUC it looks like this has been broken ever since commit e1605495c716 > > | "intel-iommu: Introduce domain_sg_mapping() to speed up > > | intel_map_sg()". I.e. it looks like the calculation for pte_val should > > | be: > > | > > | pteval = (page_to_phys(sg_page(sg)) + sg->offset) | prot; > > > > Hhmmm, shouldn't that be: > > > > pteval = (page_to_phys(sg_page(sg)) + (sg->offset>>PAGE_SHIFT)) | prot; > > Yes, I think you're right. We do want to mask off the page-unaligned > portion of sg->offset. Shoulnd't we normalize the entire sg_page(sg) + sg_offset. if when you only mask the page-unaligned portion i suspect you might be pointing to a different region? something like (sg_page(sg) + (sg->offset << VTD_PAGE_SHIFT)) then add the unaligned part.. sg->offset>>VTD_PAGE_SHIFT Is this happening because you are using a 2M page? not sure what triggers this or causes the driver to get passed in larger than 4K offset, or running 32bit kernel? if its legal to get passed in such odd values, we should fix IOMMU driver to handle it properly, otherwise we should atleast fail those requests. Cheers, Ashok
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain <Harsh@chelsio.com> - 2017-09-16 08:20 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Herbert Xu <herbert@gondor.apana.org.au> - 2017-09-20 10:10 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Robin Murphy <robin.murphy@arm.com> - 2017-09-20 12:20 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain <Harsh@chelsio.com> - 2017-09-20 13:30 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Casey Leedom <leedom@chelsio.com> - 2017-09-25 19:50 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU "Raj, Ashok" <ashok.raj@intel.com> - 2017-09-25 20:50 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Casey Leedom <leedom@chelsio.com> - 2017-09-25 20:50 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain <Harsh@chelsio.com> - 2017-09-26 05:50 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain <Harsh@chelsio.com> - 2017-09-26 14:30 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Robin Murphy <robin.murphy@arm.com> - 2017-09-26 16:30 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Dan Williams <dan.j.williams@intel.com> - 2017-09-25 21:40 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Casey Leedom <leedom@chelsio.com> - 2017-09-25 22:10 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Dan Williams <dan.j.williams@intel.com> - 2017-09-25 22:20 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU "Raj, Ashok" <ashok.raj@intel.com> - 2017-09-25 23:50 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Casey Leedom <leedom@chelsio.com> - 2017-09-26 01:50 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain <Harsh@chelsio.com> - 2017-09-26 15:10 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain <Harsh@chelsio.com> - 2017-09-20 13:40 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU David Woodhouse <dwmw2@infradead.org> - 2017-09-25 20:50 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Casey Leedom <leedom@chelsio.com> - 2017-09-25 22:20 +0200
Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain <Harsh@chelsio.com> - 2017-09-26 13:20 +0200
csiph-web