iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Raj, Ashok" <ashok.raj@intel.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Casey Leedom <leedom@chelsio.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"dwmw2@infradead.org" <dwmw2@infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	Harsh Jain <Harsh@chelsio.com>, Ashok Raj <ashok.raj@intel.com>
Subject: Re: DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU
Date: Mon, 25 Sep 2017 12:03:11 -0700	[thread overview]
Message-ID: <20170925190310.GA132175@otc-nc-03> (raw)
In-Reply-To: <CAPcyv4ihhJM5+iHTMzH2m5n7X5347MHkj0h2DC5KGobjby5nmg@mail.gmail.com>

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

  reply	other threads:[~2017-09-25 19:03 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-16  6:11 DMA error when sg->offset value is greater than PAGE_SIZE in Intel IOMMU Harsh Jain
2017-09-20  8:01 ` Herbert Xu
2017-09-20 10:12   ` Robin Murphy
2017-09-20 11:20     ` Harsh Jain
2017-09-25 17:46     ` Casey Leedom
2017-09-25 15:54       ` Raj, Ashok
2017-09-25 18:46         ` Casey Leedom
2017-09-26  3:46           ` Harsh Jain
     [not found]             ` <afa02763-4556-0e14-7d1b-1c044cdc1ff7-ut6Up61K2wZBDgjK7y7TUQ@public.gmane.org>
2017-09-26 12:21               ` Harsh Jain
2017-09-26 14:22                 ` Robin Murphy
2017-09-26 14:34                   ` Raj, Ashok
2017-09-26 14:40                     ` Raj, Ashok
2017-09-26 20:50                       ` Casey Leedom
2017-09-26 18:15                     ` Robin Murphy
     [not found]                   ` <437a9bd8-d4d6-22ca-1a64-1a3e73f1101a-5wv7dgnIgG8@public.gmane.org>
2017-09-26 16:06                     ` Casey Leedom
2017-09-26 16:10                       ` Dan Williams
2017-09-27 16:31                         ` Casey Leedom
     [not found]                           ` <MWHPR12MB160060436AC70CB5BE8C0C6EC8780-Gy0DoCVfaSVsWITs4OkDoAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-09-27 17:13                             ` Dan Williams
2017-10-01  8:59                               ` Christoph Hellwig
2017-09-27 17:18                           ` Robin Murphy
     [not found]                             ` <20170927181802.3dcd7efb-h2/QxWiDqNo@public.gmane.org>
2017-09-27 14:48                               ` Raj, Ashok
2017-09-27 21:29                                 ` Casey Leedom
     [not found]                                   ` <MWHPR12MB16005D59D7A33F3D5BE43395C8780-Gy0DoCVfaSVsWITs4OkDoAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-09-27 19:07                                     ` Raj, Ashok
2017-09-27 22:13                                       ` Casey Leedom
2017-09-28  5:01                                         ` Harsh Jain
     [not found]                                         ` <MWHPR12MB16007E5363E79173C52BFA19C8780-Gy0DoCVfaSVsWITs4OkDoAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-09-28 10:33                                           ` Herbert Xu
     [not found]                                             ` <20170928103312.GB8118-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2017-09-28 11:11                                               ` Harsh Jain
2017-09-28 13:38                                     ` Harsh Jain
2017-09-28 13:05                                       ` Raj, Ashok
2017-09-29  5:37                                         ` Harsh Jain
2017-09-27 17:30                             ` Casey Leedom
2017-09-26 17:30                     ` Casey Leedom
2017-09-25 19:31       ` Dan Williams
     [not found]         ` <CAPcyv4j3J41eY2eR07nTvo75F0yCbL9bNHM8GmXEFOHDQUuf8Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-25 20:05           ` Casey Leedom
     [not found]             ` <MWHPR12MB1600948B2F57696189FC7C22C87A0-Gy0DoCVfaSVsWITs4OkDoAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2017-09-25 20:11               ` Dan Williams
2017-09-25 19:03                 ` Raj, Ashok [this message]
2017-09-25 23:41                   ` Casey Leedom
2017-09-26 13:04                 ` Harsh Jain
2017-09-20 11:30   ` Harsh Jain
2017-09-25 18:45   ` David Woodhouse
2017-09-25 20:19     ` Casey Leedom
2017-09-26 11:17     ` Harsh Jain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170925190310.GA132175@otc-nc-03 \
    --to=ashok.raj@intel.com \
    --cc=Harsh@chelsio.com \
    --cc=dan.j.williams@intel.com \
    --cc=dwmw2@infradead.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=iommu@lists.linux-foundation.org \
    --cc=leedom@chelsio.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).