On 6/22/21 7:52 AM, Douglas Anderson wrote:
@@ -1519,7 +1542,8 @@ static int iommu_get_def_domain_type(struct device *dev)
static int iommu_group_alloc_default_domain(struct bus_type *bus,
                                            struct iommu_group *group,
-                                           unsigned int type)
+                                           unsigned int type,
+                                           struct device *dev)
  {
        struct iommu_domain *dom;
@@ -1534,6 +1558,12 @@ static int iommu_group_alloc_default_domain(struct bus_type *bus,
        if (!dom)
                return -ENOMEM;
+ /* Save the strictness requests from the device */
+       if (dev && type == IOMMU_DOMAIN_DMA) {
+               dom->request_non_strict = dev->request_non_strict_iommu;
+               dom->force_strict = dev->force_strict_iommu;
+       }
+

An iommu default domain might be used by multiple devices which might
have different "strict" attributions. Then who could override who?

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to