iommu: Reject drivers with broken_unmanaged_domain
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest4 patches 12 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | iommu: Add a broken_unmanaged_domain flag in iommu_opsdrivers/ drivers/ drivers/ +5 more | +41 | 9 replies | |
| 2/4 | iommu/dma: Do not init domain if broken_unmanaged_domaindrivers/ | +3 | 2 replies | |
| 3/4 | iommufd: Do not allocate device object if broken_unmanaged_domaindrivers/ | +3 | 0 replies | |
| 4/4 | vfio: Do not allocate domain if broken_unmanaged_domaindrivers/ | +4 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/4] iommu: Reject drivers with broken_unmanaged_domain
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(-)
Signature · 1 line
2.39.1