Hi Joerg,
With this patchset, I have an epyc system where if I boot with
iommu=nopt and force a dump I will see some io page faults for a nic
on the system. The vmcore is harvested and the system reboots. I
haven't reproduced it on other systems yet, but without the patchset I
don't see the io page faults during the kdump.
Regards,
Jerry
I just hit an issue on a separate intel based system (kdump iommu=nopt),
where it panics in during intel_iommu_attach_device, in is_aux_domain,
due to device_domain_info being DEFER_DEVICE_DOMAIN_INFO. That doesn't
get set to a valid address until the domain_add_dev_info call.
Is it as simple as the following?
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 29d3940847d3..f1bbeed46a4c 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -5053,8 +5053,8 @@ is_aux_domain(struct device *dev, struct iommu_domain *domain)
Â{
ÂÂÂÂÂÂÂ struct device_domain_info *info = dev->archdata.iommu;
-ÂÂÂÂÂÂ return info && info->auxd_enabled &&
-ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ domain->type == IOMMU_DOMAIN_UNMANAGED;
+ÂÂÂÂÂÂ return info && info != DEFER_DEVICE_DOMAIN_INFO &&
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ info->auxd_enabled && domain->type == IOMMU_DOMAIN_UNMANAGED;
Â}
Âstatic void auxiliary_link_device(struct dmar_domain *domain,
Regards,
Jerry