[PATCH 4/5] iommu/dart: Reject identity domain for locked DARTs

From: Alyssa Rosenzweig
Date: Mon Feb 10 2025 - 14:45:11 EST


This cannot work.

Signed-off-by: Alyssa Rosenzweig <alyssa@xxxxxxxxxxxxx>
Signed-off-by: Janne Grunau <j@xxxxxxxxxx>
---
drivers/iommu/apple-dart.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
index 9c6f780dc7220096ed6bba692fa1a4bd859b0d61..29b627b38e8c37afd2b6a72865f43d24b633834a 100644
--- a/drivers/iommu/apple-dart.c
+++ b/drivers/iommu/apple-dart.c
@@ -681,6 +681,9 @@ static int apple_dart_attach_dev_identity(struct iommu_domain *domain,
if (!cfg->stream_maps[0].dart->supports_bypass)
return -EINVAL;

+ if (cfg->stream_maps[0].dart->locked)
+ return -EINVAL;
+
for_each_stream_map(i, cfg, stream_map)
apple_dart_hw_enable_bypass(stream_map);
return 0;

--
2.48.1