[PATCH 2/4] iommu/dma: Do not init domain if broken_unmanaged_domain

Nicolin Chen nicolinc at nvidia.com
Fri Jan 27 12:04:18 PST 2023


Add a sanity of the broken_unmanaged_domain flag to reject the use of
dma-iommu in the early stage, if the flag is set by the iommu driver.

Suggested-by: Jason Gunthorpe <jgg at nvidia.com>
Signed-off-by: Nicolin Chen <nicolinc at nvidia.com>
---
 drivers/iommu/dma-iommu.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index f798c44e0903..f1e8d952b17d 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -545,6 +545,9 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base,
 	if (!cookie || cookie->type != IOMMU_DMA_IOVA_COOKIE)
 		return -EINVAL;
 
+	if (WARN_ON(!device_iommu_unmanaged_supported(dev)))
+		return -EINVAL;
+
 	iovad = &cookie->iovad;
 
 	/* Use the smallest supported page size for IOVA granularity */
-- 
2.39.1




More information about the linux-arm-kernel mailing list