From: Jason Gunthorpe Date: Mon, 14 Jul 2025 04:50:22 +0000 (+0800) Subject: iommu/vt-d: Do not wipe out the page table NID when devices detach X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5c3687d5789cfff8d285a2c76bceb47f145bf01f;p=users%2Fjedix%2Flinux-maple.git iommu/vt-d: Do not wipe out the page table NID when devices detach 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 Reviewed-by: Kevin Tian Signed-off-by: Jason Gunthorpe Link: https://lore.kernel.org/r/3-v3-dbbe6f7e7ae3+124ffe-vtd_prep_jgg@nvidia.com Signed-off-by: Lu Baolu 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 --- diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c index 8521566ccf9b7..8c99f8bf20656 100644 --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c @@ -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); } }