[PATCH 0/5] iommu/vt-d: Fix kdump boot with VT-d enabled

From: Joerg Roedel
Date: Mon Feb 17 2020 - 14:39:30 EST


booting into a crashdump kernel with Intel IOMMU enabled and
configured into passthrough mode does not succeed with the current
kernel. The reason is that the check for identity mappings happen
before the check for deferred device attachments. That results in
wrong results returned from iommu_need_mapping() and subsequently in a
wrong domain-type used in __intel_map_single(). A stripped oops is in
the commit-message of patch 3.

The patch-set fixes the issue and does a few code cleanups along the
way. I have not yet researched the stable and fixes tags, but when the
patches are fine I will add the tags before applying the patches.

Please review.



Joerg Roedel (5):
iommu/vt-d: Add attach_deferred() helper
iommu/vt-d: Move deferred device attachment into helper function
iommu/vt-d: Do deferred attachment in iommu_need_mapping()
iommu/vt-d: Remove deferred_attach_domain()
iommu/vt-d: Simplify check in identity_mapping()

drivers/iommu/intel-iommu.c | 37 ++++++++++++++++++++-----------------
1 file changed, 20 insertions(+), 17 deletions(-)