Re: [PATCH v1] iommu/vt-d: Remove dead code in intel_iommu_domain_alloc_paging_flags()

From: Baolu Lu
Date: Mon Jun 02 2025 - 22:40:41 EST


On 5/30/25 17:13, Wei Wang wrote:
When dirty_tracking is enabled, first_stage is set to false to use the
second stage translation table. dmar_domain->use_first_level, which is
assigned from first_page, is guaranteed to be false when the execution
reaches the location of the code to be removed by this patch. So the
handling for dmar_domain->use_first_level being true there will never
be executed.

Signed-off-by: Wei Wang<wei.w.wang@xxxxxxxxx>
---
drivers/iommu/intel/iommu.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index cb0b993bebb4..1145567c60f9 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -3418,13 +3418,8 @@ intel_iommu_domain_alloc_paging_flags(struct device *dev, u32 flags,
spin_lock_init(&dmar_domain->s1_lock);
}
- if (dirty_tracking) {
- if (dmar_domain->use_first_level) {

This *explicit* check enforces that dirty tracking cannot be supported
for a domain that relies on first-stage translation due to the lack of
enabling/disabling dirty tracking support.

While this might appear redundant, this prevents potential issues
if related code is modified without awareness of this dependency.

- iommu_domain_free(domain);
- return ERR_PTR(-EOPNOTSUPP);
- }

Thanks,
baolu