On Wed, Jul 23, 2025 at 05:22:44PM +0800, Ban ZuoXiang wrote:
Nope! We need your help as you are the one that can reproduce it :)
Are we missing a backport? Did we get the backport incorrect? Should we just revert it?
thanks, greg k-h
Hi, greg k-h
Original patch:
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c index bb871674d8acba..226e174577fff1 100644 --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c @@ -4298,6 +4306,9 @@ static int identity_domain_attach_dev(struct iommu_domain *domain, struct device else ret = device_setup_pass_through(dev); + if (!ret) + info->domain_attached = true;
return ret; }
Backport patch:
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c index 157542c07aaafa..56e9f125cda9a0 100644 --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c @@ -4406,6 +4414,9 @@ static int device_set_dirty_tracking(struct list_head *devices, bool enable) break; } + if (!ret) + info->domain_attached = true;
return ret; }
The last hunk of the original patch [1] was applied to the |identity_domain_attach_dev| function, but the last hunk of the backport patch [2] appears to have been mistakenly applied to the |device_set_dirty_tracking| function. I can confirm that correctly placing the patch from device_set_dirty_tracking into identity_domain_attach_dev resolves the issue.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=... [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=...
Ah, nice work!
Can you send a patch that fixes this up properly please? I'll be glad to queue that up.
greg k-h