All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pranjal Shrivastava <praan@google.com>
To: Vasant Hegde <vasant.hegde@amd.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>,
	iommu@lists.linux.dev, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org, Joerg Roedel <joro@8bytes.org>,
	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Ankit Soni <ankit.soni@amd.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Samiullah Khawaja <skhawaja@google.com>,
	sashiko-bot@kernel.org
Subject: Re: [PATCH v3 2/5] iommu/amd: Fix DTE clearing and rename iommu_ignore_device()
Date: Thu, 10 Sep 2026 13:47:14 +0000	[thread overview]
Message-ID: <aqK04hq575iwY5BR@google.com> (raw)
In-Reply-To: <9be08ef1-7ae0-483a-938e-17e606b5d214@amd.com>

On Thu, Sep 10, 2026 at 05:25:25PM +0530, Vasant Hegde wrote:
> 
> 
> On 9/4/2026 7:55 PM, Jason Gunthorpe wrote:
> > On Fri, Sep 04, 2026 at 03:43:01PM +0530, Vasant Hegde wrote:
> >> Jason,
> >>
> >>
> >> On 8/28/2026 5:23 PM, Jason Gunthorpe wrote:
> >>> On Fri, Aug 28, 2026 at 10:46:48AM +0530, Vasant Hegde wrote:
> >>>>> Having the driver boot up with all DTEs programmed to identity (eg
> >>>>> 0'd) and then try to fix them to blocking after the iommu probes
> >>>>> devices is security backwards.
> >>>>
> >>>> During boot, it only sets dte.v bit.
> >>>
> >>> First it clears it to fully 0, what does 0 do in HW?
> >>
> >> IF DTE is fully zero, then all requests are blocked for that devid.
> >>
> >>>
> >>> It doesn't make sense that you'd pass over the DTEs after
> >>> probing if the original 0'd DTE was actually blocking?
> >>
> >> During boot, it sets certain default values includ dte.v. It doesn't
> >> clear everything.
> > 
> > ?? It starts out with a 0 DTE table? There is no inherited DTE table
> > except for kdump.
> > 
> >> May be we should just remove ignore_device() completely? as
> >>   - normal boot, its not yet configured, so no DMA is allowed
> >>   - kdump boot, old DTE is still valid and let it continue?
> > 
> > Yes, that makes alot more sense to me.
> 
> Ack. @Pranjal, Can you fixup and send v4?
> 

Ack. I'll remove ignore_device entirely and drop patch 3 for v4.

> > 
> > But this comment is also wrong:
> 
> Yeah. One of the cleanup patch missed to update below comment.
> 
> > 
> >         /*
> >          * Order is important here to make sure any unity map requirements are
> >          * fulfilled. The unity mappings are created and written to the device
> >          * table during the iommu_init_pci() call.
> >          *
> >          * After that we call init_device_table_dma() to make sure any
> >          * uninitialized DTE will block DMA, and in the end we flush the caches
> >          * of all IOMMUs to make sure the changes to the device table are
> >          * active.
> >          */
> >         for_each_pci_segment(pci_seg)
> >                 init_device_table_dma(pci_seg);
> > 
> > The DTE starts out with blocking because it starts out as 0. This
> > isn't making the DTE blocking, it is doing something else. And it is
> > very suspicious and racey looking to me.
> 
> IIRC there were some requirement to keep V bit ON. Otherwise I don't see why we
> should set and flush the dte here. Let me dig the details.
> 

Should I also update the comment in this series? (It seems less relevant
to the ATS stuff)

Thanks,
Praan

  reply	other threads:[~2026-09-10 13:47 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-24 12:23 [PATCH v3 0/5] iommu/amd: Refactors for ATS robustness Pranjal Shrivastava
2026-08-24 12:23 ` [PATCH v3 1/5] iommu/amd: Refactor device probe and capability initialization Pranjal Shrivastava
2026-08-24 18:13   ` Jason Gunthorpe
2026-08-25 10:24     ` Pranjal Shrivastava
2026-08-25 11:50       ` Jason Gunthorpe
2026-08-25  6:59   ` Vasant Hegde
2026-08-25 10:25     ` Pranjal Shrivastava
2026-08-24 12:23 ` [PATCH v3 2/5] iommu/amd: Fix DTE clearing and rename iommu_ignore_device() Pranjal Shrivastava
2026-08-24 18:13   ` Jason Gunthorpe
2026-08-25 10:32     ` Pranjal Shrivastava
2026-08-25 11:49       ` Jason Gunthorpe
2026-08-25 17:29         ` Pranjal Shrivastava
2026-08-25 17:53           ` Jason Gunthorpe
2026-08-25 19:08             ` Pranjal Shrivastava
2026-08-26 11:28               ` Vasant Hegde
2026-08-26 12:21                 ` Jason Gunthorpe
2026-08-28  5:16                   ` Vasant Hegde
2026-08-28 11:53                     ` Jason Gunthorpe
2026-09-04 10:13                       ` Vasant Hegde
2026-09-04 14:25                         ` Jason Gunthorpe
2026-09-10 11:55                           ` Vasant Hegde
2026-09-10 13:47                             ` Pranjal Shrivastava [this message]
2026-09-10 14:15                               ` Vasant Hegde
2026-09-10 14:28                                 ` Pranjal Shrivastava
2026-08-24 21:47   ` Samiullah Khawaja
2026-08-25  7:01   ` Vasant Hegde
2026-08-24 12:23 ` [PATCH v3 3/5] iommu/amd: Split probe error paths to preserve IRQ remapping Pranjal Shrivastava
2026-08-24 18:13   ` Jason Gunthorpe
2026-08-25 10:34     ` Pranjal Shrivastava
2026-08-24 12:23 ` [PATCH v3 4/5] iommu/amd: Fail probe on ATS configuration failure Pranjal Shrivastava
2026-08-24 18:13   ` Jason Gunthorpe
2026-08-24 21:46   ` Samiullah Khawaja
2026-08-24 12:23 ` [PATCH v3 5/5] PCI/ATS: Mandate checking pci_ats_supported() before pci_prepare_ats() Pranjal Shrivastava
2026-08-24 18:13   ` Jason Gunthorpe
2026-08-24 18:13 ` [PATCH v3 0/5] iommu/amd: Refactors for ATS robustness Jason Gunthorpe
2026-08-25 10:39   ` Pranjal Shrivastava
2026-08-25 11:51     ` Jason Gunthorpe
2026-08-25  7:06 ` Vasant Hegde
2026-08-25 10:37   ` Pranjal Shrivastava

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=aqK04hq575iwY5BR@google.com \
    --to=praan@google.com \
    --cc=ankit.soni@amd.com \
    --cc=bhelgaas@google.com \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=sashiko-bot@kernel.org \
    --cc=skhawaja@google.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=vasant.hegde@amd.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.