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

Alyssa Rosenzweig alyssa at rosenzweig.io
Mon Feb 10 11:39:56 PST 2025


This cannot work.

Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
Signed-off-by: Janne Grunau <j at jannau.net>
---
 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




More information about the linux-arm-kernel mailing list