]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iommu/vt-d: Do not wipe out the page table NID when devices detach
authorJason Gunthorpe <jgg@nvidia.com>
Mon, 14 Jul 2025 04:50:22 +0000 (12:50 +0800)
committerWill Deacon <will@kernel.org>
Mon, 14 Jul 2025 10:18:03 +0000 (11:18 +0100)
The NID is used to control which NUMA node memory for the page table is
allocated it from. It should be a permanent property of the page table
when it was allocated and not change during attach/detach of devices.

Reviewed-by: Wei Wang <wei.w.wang@intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/3-v3-dbbe6f7e7ae3+124ffe-vtd_prep_jgg@nvidia.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Fixes: 7c204426b818 ("iommu/vt-d: Add domain_alloc_paging support")
Link: https://lore.kernel.org/r/20250714045028.958850-6-baolu.lu@linux.intel.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/intel/iommu.c

index 8521566ccf9b71dfcc778d2ac8408b96ae91606b..8c99f8bf2065625a0ccea0d0cfbb45b6ee4ccc76 100644 (file)
@@ -1391,7 +1391,6 @@ void domain_detach_iommu(struct dmar_domain *domain, struct intel_iommu *iommu)
        if (--info->refcnt == 0) {
                ida_free(&iommu->domain_ida, info->did);
                xa_erase(&domain->iommu_array, iommu->seq_id);
-               domain->nid = NUMA_NO_NODE;
                kfree(info);
        }
 }