From: Jason Gunthorpe <jgg@nvidia.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: Matthew Rosato <mjrosato@linux.ibm.com>,
Eric Farman <farman@linux.ibm.com>,
dri-devel@lists.freedesktop.org,
Vineeth Vijayan <vneethv@linux.ibm.com>,
Diana Craciun <diana.craciun@oss.nxp.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Will Deacon <will@kernel.org>,
Longfang Liu <liulongfang@huawei.com>,
linux-s390@vger.kernel.org, Yi Liu <yi.l.liu@intel.com>,
kvm@vger.kernel.org, Joerg Roedel <joro@8bytes.org>,
Halil Pasic <pasic@linux.ibm.com>,
iommu@lists.linux.dev, Nicolin Chen <nicolinc@nvidia.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Tony Krowiak <akrowiak@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
intel-gfx@lists.freedesktop.org,
Eric Auger <eric.auger@redhat.com>,
Harald Freudenberger <freude@linux.ibm.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
intel-gvt-dev@lists.freedesktop.org,
Jason Herne <jjherne@linux.ibm.com>,
Yishai Hadas <yishaih@nvidia.com>,
Cornelia Huck <cohuck@redhat.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>,
Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>,
Sven Schnelle <svens@linux.ibm.com>,
Robin Murphy <robin.murphy@arm.com>,
Lu Baolu <baolu.lu@linux.intel.com>
Subject: Re: [Intel-gfx] [PATCH 04/10] vfio: Move storage of allow_unsafe_interrupts to vfio_main.c
Date: Tue, 8 Nov 2022 21:05:21 -0400 [thread overview]
Message-ID: <Y2r80RgytKpPtK58@nvidia.com> (raw)
In-Reply-To: <20221108155520.4429c2e5.alex.williamson@redhat.com>
On Tue, Nov 08, 2022 at 03:55:20PM -0700, Alex Williamson wrote:
> > > So why exactly isn't this an issue for VDPA? Are we just burying our
> > > head in the sand that such platforms exists and can still be useful
> > > given the appropriate risk vs reward trade-off?
> >
> > Simply that nobody has asked for it, and might never ask for it. This
> > is all support for old platforms, and there just doesn't seem to be a
> > "real" use case for very new (and actually rare) NIC hardware stuck
> > into ancient platforms with this security problem.
>
> vIOMMU support for interrupt remapping is relatively new, the nesting
> case is important as well.
This is where we got hit. In the end we fixed the qemu..
> > I'd be much more comfortable with this as a system wide iommufd flag
> > if we also tied it to do some demonstration of privilege - eg a
> > requirement to open iommufd with CAP_SYS_RAWIO for instance.
>
> Which is not compatible to existing use cases, which is also why we
> can't invent some way to allow some applications to run without CPU
> mitigations, while requiring it for others as a baseline.
Isn't it? Didn't we learn that libvirt runs as root and will open and
pass the iommufd as root?
> > That is the usual protocol for these kinds of insecurities..
>
> Hmm, is it?
I think so. At least you should have something to shut down an
insecure feature in kernel lockdown modes. CAP_SYS_RAWIO is a simple
way to do it.
> > I think right now we can leave this as-is and we can wait for some
> > more information to decide how best to proceed.
>
> It's certainly not acceptable in the latest proposal, iommufd consumes
> an option set by another module and when that module goes away, so does
> any claim of compatibility. The code becomes dead and the feature not
> present. The option doesn't belong on the vfio module. Do we need a
> vfio-iommufd module to host it? Thanks,
I don't know, as I said in the other email, these little things need
work and discussion to resolve. We need to recheck the security stuff
against the 2022 kernel where things have changed. We don't need to do
it all right now.
People who want allow_unsafe_interrupts to work will simply not set
VFIO_CONTAINER=n at this time. Same with P2P, vfio-no-iommu and any
other gaps we haven't discovered.
vfio-iommufd seems like overkill, I think your first suggestion to put
in vfio.ko was more practical.
My only doubt is if we should make it system wide for everything - and
I'm just a bit uncomfortable with that from a security POV. But maybe
I don't quite know exactly what the risks are.
Jason
next prev parent reply other threads:[~2022-11-09 1:05 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-25 18:17 [Intel-gfx] [PATCH 00/10] Connect VFIO to IOMMUFD Jason Gunthorpe
2022-10-25 18:17 ` [Intel-gfx] [PATCH 01/10] vfio: Move vfio_device driver open/close code to a function Jason Gunthorpe
2022-11-01 7:33 ` Tian, Kevin
2022-11-01 12:12 ` Jason Gunthorpe
2022-11-01 14:36 ` Yi Liu
2022-10-25 18:17 ` [Intel-gfx] [PATCH 02/10] vfio: Move vfio_device_assign_container() into vfio_device_first_open() Jason Gunthorpe
2022-11-01 7:38 ` Tian, Kevin
2022-11-01 12:14 ` Jason Gunthorpe
2022-11-01 14:37 ` Yi Liu
2022-11-01 17:37 ` Jason Gunthorpe
2022-10-25 18:17 ` [Intel-gfx] [PATCH 03/10] vfio: Rename vfio_device_assign/unassign_container() Jason Gunthorpe
2022-11-01 7:39 ` Tian, Kevin
2022-11-01 14:39 ` Yi Liu
2022-10-25 18:17 ` [Intel-gfx] [PATCH 04/10] vfio: Move storage of allow_unsafe_interrupts to vfio_main.c Jason Gunthorpe
2022-10-26 21:24 ` Alex Williamson
2022-10-28 18:40 ` Jason Gunthorpe
2022-10-31 22:45 ` Alex Williamson
2022-11-07 13:19 ` Jason Gunthorpe
2022-11-07 15:18 ` Alex Williamson
2022-11-07 15:32 ` Jason Gunthorpe
2022-11-07 18:05 ` Alex Williamson
2022-11-07 18:45 ` Jason Gunthorpe
2022-11-08 22:55 ` Alex Williamson
2022-11-09 1:05 ` Jason Gunthorpe [this message]
2022-11-09 3:21 ` Tian, Kevin
2022-11-09 13:11 ` Jason Gunthorpe
2022-11-10 2:44 ` Tian, Kevin
2022-11-09 18:28 ` Alex Williamson
2022-11-10 19:19 ` Jason Gunthorpe
2022-10-25 18:17 ` [Intel-gfx] [PATCH 05/10] vfio: Use IOMMU_CAP_ENFORCE_CACHE_COHERENCY for vfio_file_enforced_coherent() Jason Gunthorpe
2022-11-01 7:52 ` Tian, Kevin
2022-11-01 12:26 ` Jason Gunthorpe
2022-11-03 4:38 ` Tian, Kevin
2022-11-04 19:45 ` Jason Gunthorpe
2022-10-25 18:50 ` [Intel-gfx] [PATCH 06/10] vfio-iommufd: Allow iommufd to be used in place of a container fd Jason Gunthorpe
2022-11-01 8:09 ` Tian, Kevin
2022-11-01 9:19 ` Nicolin Chen
2022-11-01 11:51 ` Jason Gunthorpe
2022-11-03 4:39 ` Tian, Kevin
2022-11-01 12:40 ` Jason Gunthorpe
2022-11-02 7:28 ` Yi Liu
2022-11-07 23:45 ` Jason Gunthorpe
2022-10-25 18:50 ` [Intel-gfx] [PATCH 07/10] vfio-iommufd: Support iommufd for physical VFIO devices Jason Gunthorpe
2022-11-01 8:21 ` Tian, Kevin
2022-11-04 19:51 ` Jason Gunthorpe
2022-10-25 18:50 ` [Intel-gfx] [PATCH 08/10] vfio-iommufd: Support iommufd for emulated " Jason Gunthorpe
2022-11-01 8:37 ` Tian, Kevin
2022-11-01 12:49 ` Jason Gunthorpe
2022-11-03 4:52 ` Tian, Kevin
2022-10-25 18:50 ` [Intel-gfx] [PATCH 09/10] vfio: Make vfio_container optionally compiled Jason Gunthorpe
2022-11-01 8:41 ` Tian, Kevin
2022-11-01 12:56 ` Jason Gunthorpe
2022-10-25 18:50 ` [Intel-gfx] [PATCH 10/10] iommufd: Allow iommufd to supply /dev/vfio/vfio Jason Gunthorpe
2022-10-26 21:31 ` Alex Williamson
2022-10-28 18:44 ` Jason Gunthorpe
2022-10-31 22:53 ` Alex Williamson
2022-11-07 13:57 ` Jason Gunthorpe
2022-10-25 20:42 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Connect VFIO to IOMMUFD Patchwork
2022-10-28 23:53 ` [Intel-gfx] [PATCH 00/10] " Nicolin Chen
2022-10-28 23:54 ` Nicolin Chen
2022-10-31 10:38 ` Yi Liu
2022-10-31 12:18 ` Jason Gunthorpe
2022-10-31 12:25 ` Yi Liu
2022-10-31 23:24 ` Jason Gunthorpe
2022-11-01 3:04 ` Yi Liu
2022-11-01 4:21 ` Nicolin Chen
2022-11-01 12:54 ` Yi Liu
2022-11-01 11:41 ` Jason Gunthorpe
2022-11-01 12:55 ` Yi Liu
2022-11-07 17:17 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Connect VFIO to IOMMUFD (rev2) Patchwork
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=Y2r80RgytKpPtK58@nvidia.com \
--to=jgg@nvidia.com \
--cc=agordeev@linux.ibm.com \
--cc=akrowiak@linux.ibm.com \
--cc=alex.williamson@redhat.com \
--cc=baolu.lu@linux.intel.com \
--cc=borntraeger@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=diana.craciun@oss.nxp.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=eric.auger@redhat.com \
--cc=farman@linux.ibm.com \
--cc=freude@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=iommu@lists.linux.dev \
--cc=jjherne@linux.ibm.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=liulongfang@huawei.com \
--cc=mjrosato@linux.ibm.com \
--cc=nicolinc@nvidia.com \
--cc=oberpar@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=robin.murphy@arm.com \
--cc=rodrigo.vivi@intel.com \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=svens@linux.ibm.com \
--cc=vneethv@linux.ibm.com \
--cc=will@kernel.org \
--cc=yi.l.liu@intel.com \
--cc=yishaih@nvidia.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