linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Alexey Kardashevskiy <aik@ozlabs.ru>
Cc: Joerg Roedel <jroedel@suse.de>,
	kvm@vger.kernel.org, Fabiano Rosas <farosas@linux.ibm.com>,
	linuxppc-dev@lists.ozlabs.org,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Murilo Opsfelder Araujo <muriloo@linux.ibm.com>,
	kvm-ppc@vger.kernel.org,
	Alex Williamson <alex.williamson@redhat.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	Joel Stanley <joel@jms.id.au>,
	Robin Murphy <robin.murphy@arm.com>
Subject: Re: [PATCH kernel] powerpc/iommu: Add iommu_ops to report capabilities and allow blocking domains
Date: Fri, 8 Jul 2022 10:19:10 -0300	[thread overview]
Message-ID: <20220708131910.GA3744@nvidia.com> (raw)
In-Reply-To: <e24d91fb-3da9-d60a-3792-bca0fe550cc7@ozlabs.ru>

On Fri, Jul 08, 2022 at 11:10:07PM +1000, Alexey Kardashevskiy wrote:
> 
> 
> On 08/07/2022 21:55, Jason Gunthorpe wrote:
> > On Fri, Jul 08, 2022 at 04:34:55PM +1000, Alexey Kardashevskiy wrote:
> > 
> > > For now I'll add a comment in spapr_tce_iommu_attach_dev() that it is fine
> > > to do nothing as tce_iommu_take_ownership() and
> > > tce_iommu_take_ownership_ddw() take care of not having active DMA mappings.
> > 
> > That will still cause a security problem because
> > tce_iommu_take_ownership()/etc are called too late. This is the moment
> > in the flow when the ownershift must change away from the DMA API that
> > power implements and to VFIO, not later.
> 
> It is getting better and better :)
> 
> On POWERNV, at the boot time the platforms sets up PHBs, enables bypass,
> creates groups and attaches devices. As for now attaching devices to the
> default domain (which is BLOCKED) fails the not-being-use check as enabled
> bypass means "everything is mapped for DMA". So at this point the default
> domain has to be IOMMU_DOMAIN_IDENTITY or IOMMU_DOMAIN_UNMANAGED so later on
> VFIO can move devices to IOMMU_DOMAIN_BLOCKED. Am I missing something?

For power the default domain should be NULL

NULL means that the platform is using the group to provide its DMA
ops. IIRC this patch was already setup correctly to do this?

The transition from NULL to blocking must isolate the group so all DMA
is blocked. blocking to NULL should re-estbalish platform DMA API
control.

The default domain should be non-NULL when the normal dma-iommu stuff is
providing the DMA API.

So, I think it is already setup properly, it is just the question of
what to do when entering/leaving blocking mode.

Jason

  reply	other threads:[~2022-07-08 13:20 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-07 13:55 [PATCH kernel] powerpc/iommu: Add iommu_ops to report capabilities and allow blocking domains Alexey Kardashevskiy
2022-07-07 15:10 ` Jason Gunthorpe
2022-07-08  5:00   ` Alexey Kardashevskiy
2022-07-08  6:34     ` Alexey Kardashevskiy
2022-07-08  7:32       ` Tian, Kevin
2022-07-08  9:45         ` Alexey Kardashevskiy
2022-07-08 10:18           ` Tian, Kevin
2022-07-29  2:21         ` Alexey Kardashevskiy
2022-07-29  2:53           ` Oliver O'Halloran
2022-07-29  3:10             ` Tian, Kevin
2022-07-29  3:50               ` Alexey Kardashevskiy
2022-07-29  4:24                 ` Tian, Kevin
2022-07-29 12:09                   ` Jason Gunthorpe
2022-07-08 11:55       ` Jason Gunthorpe
2022-07-08 13:10         ` Alexey Kardashevskiy
2022-07-08 13:19           ` Jason Gunthorpe [this message]
2022-07-08 13:32             ` Alexey Kardashevskiy
2022-07-08 13:59               ` Jason Gunthorpe
2022-07-09  2:58         ` Alexey Kardashevskiy
2022-07-10  6:29           ` Jason Gunthorpe
2022-07-10 12:32             ` Alexey Kardashevskiy
2022-07-11 13:24               ` Alexey Kardashevskiy
2022-07-11 18:46                 ` Jason Gunthorpe
2022-07-12  2:27                   ` Alexey Kardashevskiy
2022-07-12  5:44                     ` Jason Gunthorpe

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=20220708131910.GA3744@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=aik@ozlabs.ru \
    --cc=alex.williamson@redhat.com \
    --cc=danielhb413@gmail.com \
    --cc=farosas@linux.ibm.com \
    --cc=joel@jms.id.au \
    --cc=jroedel@suse.de \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=muriloo@linux.ibm.com \
    --cc=npiggin@gmail.com \
    --cc=oohall@gmail.com \
    --cc=robin.murphy@arm.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 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).