From: Nicolin Chen <nicolinc@nvidia.com>
To: <jgg@nvidia.com>, <kevin.tian@intel.com>, <robin.murphy@arm.com>,
<joro@8bytes.org>, <will@kernel.org>, <agross@kernel.org>,
<andersson@kernel.org>, <konrad.dybcio@linaro.org>,
<yong.wu@mediatek.com>, <matthias.bgg@gmail.com>,
<thierry.reding@gmail.com>, <alex.williamson@redhat.com>,
<cohuck@redhat.com>
Cc: kvm@vger.kernel.org, iommu@lists.linux.dev,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
jonathanh@nvidia.com, linux-mediatek@lists.infradead.org,
linux-tegra@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/4] iommu: Reject drivers with broken_unmanaged_domain
Date: Fri, 27 Jan 2023 12:04:16 -0800 [thread overview]
Message-ID: <cover.1674849118.git.nicolinc@nvidia.com> (raw)
Hi all,
Both IOMMU_DOMAIN_UNMANAGED and IOMMU_DOMAIN_DMA require the support
of __IOMMU_DOMAIN_PAGING capability, i.e. iommu_map/unmap. However,
some older iommu drivers do not fully support that, and these drivers
also do not advertise support for dma-iommu.c via IOMMU_DOMAIN_DMA,
or use arm_iommu_create_mapping(), so largely their implementations
of IOMMU_DOMAIN_UNMANAGED are untested. This means that a user like
vfio/iommufd does not likely work with them.
Thus, mark all these drivers as having "broken" UNAMANGED domains and
add a new device_iommu_unmanaged_supported() API for vfio/iommufd and
dma-iommu to refuse to work with these drivers.
These are preparatory changes for a new IOMMU API that will be used by
iommufd. Having this flag allows us to prevent any use of the new API
in iommufd, to keep things clean.
You can also find this series on Github:
https://github.com/nicolinc/iommufd/commits/broken_unmanaged_domain
Thank you
Nicolin Chen
Nicolin Chen (4):
iommu: Add a broken_unmanaged_domain flag in iommu_ops
iommu/dma: Do not init domain if broken_unmanaged_domain
iommufd: Do not allocate device object if broken_unmanaged_domain
vfio: Do not allocate domain if broken_unmanaged_domain
drivers/iommu/dma-iommu.c | 3 +++
drivers/iommu/fsl_pamu_domain.c | 1 +
drivers/iommu/iommu.c | 24 ++++++++++++++++++++++++
drivers/iommu/iommufd/device.c | 3 +++
drivers/iommu/msm_iommu.c | 1 +
drivers/iommu/mtk_iommu_v1.c | 1 +
drivers/iommu/omap-iommu.c | 1 +
drivers/iommu/tegra-gart.c | 1 +
drivers/iommu/tegra-smmu.c | 1 +
drivers/vfio/vfio_iommu_type1.c | 5 ++++-
include/linux/iommu.h | 11 +++++++++++
11 files changed, 51 insertions(+), 1 deletion(-)
--
2.39.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2023-01-27 20:15 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-27 20:04 Nicolin Chen [this message]
2023-01-27 20:04 ` [PATCH 1/4] iommu: Add a broken_unmanaged_domain flag in iommu_ops Nicolin Chen
2023-01-27 21:58 ` Robin Murphy
2023-01-27 23:39 ` Nicolin Chen
2023-01-27 23:54 ` Jason Gunthorpe
2023-01-29 8:11 ` Tian, Kevin
2023-01-30 13:33 ` Jason Gunthorpe
2023-02-01 3:14 ` Tian, Kevin
2023-02-01 14:55 ` Jason Gunthorpe
2023-02-02 3:50 ` Tian, Kevin
2023-01-29 7:54 ` Tian, Kevin
2023-01-27 20:04 ` [PATCH 2/4] iommu/dma: Do not init domain if broken_unmanaged_domain Nicolin Chen
2023-01-27 21:59 ` Robin Murphy
2023-01-27 22:51 ` Nicolin Chen
2023-01-27 20:04 ` [PATCH 3/4] iommufd: Do not allocate device object " Nicolin Chen
2023-01-27 20:04 ` [PATCH 4/4] vfio: Do not allocate domain " Nicolin Chen
2023-01-29 7:46 ` [PATCH 0/4] iommu: Reject drivers with broken_unmanaged_domain Tian, Kevin
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=cover.1674849118.git.nicolinc@nvidia.com \
--to=nicolinc@nvidia.com \
--cc=agross@kernel.org \
--cc=alex.williamson@redhat.com \
--cc=andersson@kernel.org \
--cc=cohuck@redhat.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@nvidia.com \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=konrad.dybcio@linaro.org \
--cc=kvm@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-tegra@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=robin.murphy@arm.com \
--cc=thierry.reding@gmail.com \
--cc=will@kernel.org \
--cc=yong.wu@mediatek.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).