The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2
@ 2026-06-02 23:34 Lu Baolu
  2026-06-02 23:34 ` [PATCH 1/6] iommu/vt-d: Avoid WARNING in sva unbind path Lu Baolu
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Lu Baolu @ 2026-06-02 23:34 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

Hi Joerg,

The following changes are queued for v7.2-rc1. This update introduces 
a few quick fixes and several refactorings, including:

- Add the PCI segment number to DMA fault messages.
- Improve support for non-PRI mode SVA.
- Ensure atomicity during context entry teardown.
- Fix RB-tree corruption and a UAF error in the probe error path.

These patches are based on v7.1-rc6. Please consider pulling them for 
the iommu/vt-d branch.

Best regards,
baolu

Guanghui Feng (1):
  iommu/vt-d: Improve IOMMU fault information

Lu Baolu (1):
  iommu/vt-d: Avoid WARNING in sva unbind path

Michael Bommarito (1):
  iommu/vt-d: Clear Present bit before tearing down scalable-mode
    context entry

Michał Grzelak (1):
  iommu/vt-d: Remove typo from pasid_pte_config_nested()

Pranjal Shrivastava (2):
  iommu/vt-d: Fix RB-tree corruption in probe error path
  iommu/vt-d: Fix Use-After-Free in probe error path

 drivers/iommu/intel/iommu.h | 11 +++++++++++
 drivers/iommu/intel/dmar.c  |  9 ++++++---
 drivers/iommu/intel/iommu.c |  7 ++++++-
 drivers/iommu/intel/pasid.c | 16 +++++++++-------
 drivers/iommu/intel/svm.c   | 12 ++++--------
 5 files changed, 36 insertions(+), 19 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/6] iommu/vt-d: Avoid WARNING in sva unbind path
  2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
@ 2026-06-02 23:34 ` Lu Baolu
  2026-06-02 23:34 ` [PATCH 2/6] iommu/vt-d: Clear Present bit before tearing down scalable-mode context entry Lu Baolu
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2026-06-02 23:34 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

The Intel IOMMU driver allows SVA on devices even if they do not support
PCI/PRI. Commit 39c20c4e83b9 ("iommu/vt-d: Only handle IOPF for SVA when
PRI is supported") modified the SVA bind path to allow this configuration
by skipping IOPF enablement when PRI is missing. However, it failed to
update the unbind path.

This creates an imbalance: the unbind path attempts to disable IOPF for
a device that never had it enabled, triggering a WARNING in
intel_iommu_disable_iopf():

 WARNING: drivers/iommu/intel/iommu.c:3475 at intel_iommu_disable_iopf+0x4f/0x90d
 Call Trace:
  <TASK>
  blocking_domain_set_dev_pasid+0x50/0x70
  iommu_detach_device_pasid+0x89/0xc0
  iommu_sva_unbind_device+0x73/0x150
  xe_vm_close_and_put+0x4d2/0x1200 [xe]

Fix this by bypassing IOPF operations for SVA domains on non-PRI hardware
in both the bind and unbind paths.

Fixes: 39c20c4e83b9 ("iommu/vt-d: Only handle IOPF for SVA when PRI is supported")
Cc: stable@vger.kernel.org
Reported-by: Nareshkumar Gollakoti <naresh.kumar.g@intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20260519052917.3729796-1-baolu.lu@linux.intel.com
---
 drivers/iommu/intel/iommu.h | 11 +++++++++++
 drivers/iommu/intel/svm.c   | 12 ++++--------
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/drivers/iommu/intel/iommu.h b/drivers/iommu/intel/iommu.h
index ef145560aa98..775f1c4ae346 100644
--- a/drivers/iommu/intel/iommu.h
+++ b/drivers/iommu/intel/iommu.h
@@ -1254,18 +1254,29 @@ void intel_iommu_disable_iopf(struct device *dev);
 static inline int iopf_for_domain_set(struct iommu_domain *domain,
 				      struct device *dev)
 {
+	struct device_domain_info *info = dev_iommu_priv_get(dev);
+
 	if (!domain || !domain->iopf_handler)
 		return 0;
 
+	/* SVA with non-IOMMU/PRI IOPF handling is allowed. */
+	if (domain->type == IOMMU_DOMAIN_SVA && !info->pri_supported)
+		return 0;
+
 	return intel_iommu_enable_iopf(dev);
 }
 
 static inline void iopf_for_domain_remove(struct iommu_domain *domain,
 					  struct device *dev)
 {
+	struct device_domain_info *info = dev_iommu_priv_get(dev);
+
 	if (!domain || !domain->iopf_handler)
 		return;
 
+	if (domain->type == IOMMU_DOMAIN_SVA && !info->pri_supported)
+		return;
+
 	intel_iommu_disable_iopf(dev);
 }
 
diff --git a/drivers/iommu/intel/svm.c b/drivers/iommu/intel/svm.c
index 57cd1db7207a..fea10acd4f02 100644
--- a/drivers/iommu/intel/svm.c
+++ b/drivers/iommu/intel/svm.c
@@ -164,12 +164,9 @@ static int intel_svm_set_dev_pasid(struct iommu_domain *domain,
 	if (IS_ERR(dev_pasid))
 		return PTR_ERR(dev_pasid);
 
-	/* SVA with non-IOMMU/PRI IOPF handling is allowed. */
-	if (info->pri_supported) {
-		ret = iopf_for_domain_replace(domain, old, dev);
-		if (ret)
-			goto out_remove_dev_pasid;
-	}
+	ret = iopf_for_domain_replace(domain, old, dev);
+	if (ret)
+		goto out_remove_dev_pasid;
 
 	/* Setup the pasid table: */
 	sflags = cpu_feature_enabled(X86_FEATURE_LA57) ? PASID_FLAG_FL5LP : 0;
@@ -184,8 +181,7 @@ static int intel_svm_set_dev_pasid(struct iommu_domain *domain,
 
 	return 0;
 out_unwind_iopf:
-	if (info->pri_supported)
-		iopf_for_domain_replace(old, domain, dev);
+	iopf_for_domain_replace(old, domain, dev);
 out_remove_dev_pasid:
 	domain_remove_dev_pasid(domain, dev, pasid);
 	return ret;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/6] iommu/vt-d: Clear Present bit before tearing down scalable-mode context entry
  2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
  2026-06-02 23:34 ` [PATCH 1/6] iommu/vt-d: Avoid WARNING in sva unbind path Lu Baolu
@ 2026-06-02 23:34 ` Lu Baolu
  2026-06-02 23:34 ` [PATCH 3/6] iommu/vt-d: Remove typo from pasid_pte_config_nested() Lu Baolu
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2026-06-02 23:34 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

From: Michael Bommarito <michael.bommarito@gmail.com>

device_pasid_table_teardown() zeroes the 128-bit scalable-mode context
entry with context_clear_entry() while the Present bit is still set. This
creates a window where the hardware can fetch a torn entry, with some
fields already zeroed while Present is still set, leading to unpredictable
behavior or spurious faults. The context-cache invalidation is issued only
after the entry has been zeroed, and intel_pasid_free_table() then frees
the PASID directory pages, so the IOMMU can keep walking a stale Present=1
entry that points at freed memory.

While x86 provides strong write ordering, the compiler may reorder the two
64-bit writes to the entry, and the hardware fetch is not guaranteed to be
atomic with respect to multiple CPU writes.

Commit c1e4f1dccbe9d ("iommu/vt-d: Clear Present bit before tearing down
context entry") fixed this exact pattern in domain_context_clear_one() and
the copied-context path, but device_pasid_table_teardown() was not
converted.

Align it with the "Guidance to Software for Invalidations" in the VT-d
spec, Section 6.5.3.3, using the same ownership handshake as the sibling
fix: clear only the Present bit, flush it to the IOMMU, perform the
context-cache invalidation, and only then zero the rest of the entry.

Fixes: 81e921fd32161 ("iommu/vt-d: Fix NULL domain on device release")
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
Assisted-by: Claude:claude-opus-4-7
Link: https://lore.kernel.org/r/20260528025557.3209367-1-michael.bommarito@gmail.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 drivers/iommu/intel/pasid.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/intel/pasid.c b/drivers/iommu/intel/pasid.c
index 89541b74ab8c..40910dc7363b 100644
--- a/drivers/iommu/intel/pasid.c
+++ b/drivers/iommu/intel/pasid.c
@@ -748,10 +748,12 @@ static void device_pasid_table_teardown(struct device *dev, u8 bus, u8 devfn)
 	}
 
 	did = context_domain_id(context);
-	context_clear_entry(context);
+	context_clear_present(context);
 	__iommu_flush_cache(iommu, context, sizeof(*context));
 	spin_unlock(&iommu->lock);
 	intel_context_flush_no_pasid(info, context, did);
+	context_clear_entry(context);
+	__iommu_flush_cache(iommu, context, sizeof(*context));
 }
 
 static int pci_pasid_table_teardown(struct pci_dev *pdev, u16 alias, void *data)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/6] iommu/vt-d: Remove typo from pasid_pte_config_nested()
  2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
  2026-06-02 23:34 ` [PATCH 1/6] iommu/vt-d: Avoid WARNING in sva unbind path Lu Baolu
  2026-06-02 23:34 ` [PATCH 2/6] iommu/vt-d: Clear Present bit before tearing down scalable-mode context entry Lu Baolu
@ 2026-06-02 23:34 ` Lu Baolu
  2026-06-02 23:34 ` [PATCH 4/6] iommu/vt-d: Improve IOMMU fault information Lu Baolu
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2026-06-02 23:34 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

From: Michał Grzelak <michal.grzelak@intel.com>

Rename pasid_pte_config_nestd() into pasid_pte_config_nested(). Do it to
match other function names ending with _nested().

Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Link: https://lore.kernel.org/r/20260509174503.831134-1-michal.grzelak@intel.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 drivers/iommu/intel/pasid.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/iommu/intel/pasid.c b/drivers/iommu/intel/pasid.c
index 40910dc7363b..81353fd46b37 100644
--- a/drivers/iommu/intel/pasid.c
+++ b/drivers/iommu/intel/pasid.c
@@ -618,11 +618,11 @@ void intel_pasid_setup_page_snoop_control(struct intel_iommu *iommu,
 	intel_pasid_flush_present(iommu, dev, pasid, did, pte);
 }
 
-static void pasid_pte_config_nestd(struct intel_iommu *iommu,
-				   struct pasid_entry *pte,
-				   struct iommu_hwpt_vtd_s1 *s1_cfg,
-				   struct dmar_domain *s2_domain,
-				   u16 did)
+static void pasid_pte_config_nested(struct intel_iommu *iommu,
+				    struct pasid_entry *pte,
+				    struct iommu_hwpt_vtd_s1 *s1_cfg,
+				    struct dmar_domain *s2_domain,
+				    u16 did)
 {
 	struct pt_iommu_vtdss_hw_info pt_info;
 
@@ -720,7 +720,7 @@ int intel_pasid_setup_nested(struct intel_iommu *iommu, struct device *dev,
 		return -EBUSY;
 	}
 
-	pasid_pte_config_nestd(iommu, pte, s1_cfg, s2_domain, did);
+	pasid_pte_config_nested(iommu, pte, s1_cfg, s2_domain, did);
 	spin_unlock(&iommu->lock);
 
 	pasid_flush_caches(iommu, pte, pasid, did);
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/6] iommu/vt-d: Improve IOMMU fault information
  2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
                   ` (2 preceding siblings ...)
  2026-06-02 23:34 ` [PATCH 3/6] iommu/vt-d: Remove typo from pasid_pte_config_nested() Lu Baolu
@ 2026-06-02 23:34 ` Lu Baolu
  2026-06-02 23:34 ` [PATCH 5/6] iommu/vt-d: Fix RB-tree corruption in probe error path Lu Baolu
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2026-06-02 23:34 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

From: Guanghui Feng <guanghuifeng@linux.alibaba.com>

In some environments, multiple PCIe segments exist, and PCIe device
information needs to be differentiated and identified based on the
segment. When an IOMMU fault event occurs, the IOMMU and device segment
information should be output in detail in dmar_fault_do_one.

Signed-off-by: Guanghui Feng <guanghuifeng@linux.alibaba.com>
Link: https://lore.kernel.org/r/20260528022943.1697564-1-guanghuifeng@linux.alibaba.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 drivers/iommu/intel/dmar.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/iommu/intel/dmar.c b/drivers/iommu/intel/dmar.c
index d33c119a935e..767ec092accd 100644
--- a/drivers/iommu/intel/dmar.c
+++ b/drivers/iommu/intel/dmar.c
@@ -1894,7 +1894,8 @@ static int dmar_fault_do_one(struct intel_iommu *iommu, int type,
 	reason = dmar_get_fault_reason(fault_reason, &fault_type);
 
 	if (fault_type == INTR_REMAP) {
-		pr_err("[INTR-REMAP] Request device [%02x:%02x.%d] fault index 0x%llx [fault reason 0x%02x] %s\n",
+		pr_err("[INTR-REMAP] Request device [%04x:%02x:%02x.%d] fault index 0x%llx [fault reason 0x%02x] %s\n",
+		       iommu->segment,
 		       source_id >> 8, PCI_SLOT(source_id & 0xFF),
 		       PCI_FUNC(source_id & 0xFF), addr >> 48,
 		       fault_reason, reason);
@@ -1903,14 +1904,16 @@ static int dmar_fault_do_one(struct intel_iommu *iommu, int type,
 	}
 
 	if (pasid == IOMMU_PASID_INVALID)
-		pr_err("[%s NO_PASID] Request device [%02x:%02x.%d] fault addr 0x%llx [fault reason 0x%02x] %s\n",
+		pr_err("[%s NO_PASID] Request device [%04x:%02x:%02x.%d] fault addr 0x%llx [fault reason 0x%02x] %s\n",
 		       type ? "DMA Read" : "DMA Write",
+		       iommu->segment,
 		       source_id >> 8, PCI_SLOT(source_id & 0xFF),
 		       PCI_FUNC(source_id & 0xFF), addr,
 		       fault_reason, reason);
 	else
-		pr_err("[%s PASID 0x%x] Request device [%02x:%02x.%d] fault addr 0x%llx [fault reason 0x%02x] %s\n",
+		pr_err("[%s PASID 0x%x] Request device [%04x:%02x:%02x.%d] fault addr 0x%llx [fault reason 0x%02x] %s\n",
 		       type ? "DMA Read" : "DMA Write", pasid,
+		       iommu->segment,
 		       source_id >> 8, PCI_SLOT(source_id & 0xFF),
 		       PCI_FUNC(source_id & 0xFF), addr,
 		       fault_reason, reason);
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 5/6] iommu/vt-d: Fix RB-tree corruption in probe error path
  2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
                   ` (3 preceding siblings ...)
  2026-06-02 23:34 ` [PATCH 4/6] iommu/vt-d: Improve IOMMU fault information Lu Baolu
@ 2026-06-02 23:34 ` Lu Baolu
  2026-06-02 23:34 ` [PATCH 6/6] iommu/vt-d: Fix Use-After-Free " Lu Baolu
  2026-06-04  3:44 ` [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Baolu Lu
  6 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2026-06-02 23:34 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

From: Pranjal Shrivastava <praan@google.com>

The info->node RB-tree member is zero-initialized via kzalloc. If
a device does not support ATS, the device_rbtree_insert() call is
skipped. If a subsequent probe step fails, the error path jumps to
device_rbtree_remove(), which misinterprets the zeroed node as
a tree root and corrupts the device RB-tree.

Fix this by explicitly initializing the RB-node as empty using
RB_CLEAR_NODE() during initialization and guarding the removal with
RB_EMPTY_NODE().

Fixes: 4f1492efb495 ("iommu/vt-d: Revert ATS timing change to fix boot failure")
Reported-by: sashiko-bot@kernel.org
Closes: https://lore.kernel.org/all/20260525205628.CD4431F000E9@smtp.kernel.org/
Suggested-by: Baolu Lu <baolu.lu@linux.intel.com>
Signed-off-by: Pranjal Shrivastava <praan@google.com>
Link: https://lore.kernel.org/r/20260531170254.60493-2-praan@google.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 drivers/iommu/intel/iommu.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 4d0e65bc131d..849d06dfe1ae 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -157,7 +157,10 @@ static void device_rbtree_remove(struct device_domain_info *info)
 	unsigned long flags;
 
 	spin_lock_irqsave(&iommu->device_rbtree_lock, flags);
-	rb_erase(&info->node, &iommu->device_rbtree);
+	if (!RB_EMPTY_NODE(&info->node)) {
+		rb_erase(&info->node, &iommu->device_rbtree);
+		RB_CLEAR_NODE(&info->node);
+	}
 	spin_unlock_irqrestore(&iommu->device_rbtree_lock, flags);
 }
 
@@ -3254,6 +3257,7 @@ static struct iommu_device *intel_iommu_probe_device(struct device *dev)
 
 	info->dev = dev;
 	info->iommu = iommu;
+	RB_CLEAR_NODE(&info->node);
 	if (dev_is_pci(dev)) {
 		if (ecap_dev_iotlb_support(iommu->ecap) &&
 		    pci_ats_supported(pdev) &&
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 6/6] iommu/vt-d: Fix Use-After-Free in probe error path
  2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
                   ` (4 preceding siblings ...)
  2026-06-02 23:34 ` [PATCH 5/6] iommu/vt-d: Fix RB-tree corruption in probe error path Lu Baolu
@ 2026-06-02 23:34 ` Lu Baolu
  2026-06-04  3:44 ` [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Baolu Lu
  6 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2026-06-02 23:34 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

From: Pranjal Shrivastava <praan@google.com>

When intel_iommu_probe_device() fails after the info structure has
been linked to the device via dev_iommu_priv_set(), the error path
calls kfree(info) but does not clear the pointer in the device
structure.

This results in a Use-After-Free regression if the pointer is accessed
by a subsequent IOMMU core call or a re-probe.

Fix this by ensuring dev_iommu_priv_set(dev, NULL) is called before
freeing the info structure in the error path.

Fixes: eda1a94caf6b ("iommu: Mark dev_iommu_priv_set() with a lockdep")
Reported-by: sashiko-bot@kernel.org
Closes: https://lore.kernel.org/all/20260525205628.CD4431F000E9@smtp.kernel.org/
Signed-off-by: Pranjal Shrivastava <praan@google.com>
Link: https://lore.kernel.org/r/20260531170254.60493-3-praan@google.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 drivers/iommu/intel/iommu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 849d06dfe1ae..ed6d3a0203f5 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -3320,6 +3320,7 @@ static struct iommu_device *intel_iommu_probe_device(struct device *dev)
 clear_rbtree:
 	device_rbtree_remove(info);
 free:
+	dev_iommu_priv_set(dev, NULL);
 	kfree(info);
 
 	return ERR_PTR(ret);
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2
  2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
                   ` (5 preceding siblings ...)
  2026-06-02 23:34 ` [PATCH 6/6] iommu/vt-d: Fix Use-After-Free " Lu Baolu
@ 2026-06-04  3:44 ` Baolu Lu
  2026-06-04  5:27   ` Pranjal Shrivastava
  6 siblings, 1 reply; 9+ messages in thread
From: Baolu Lu @ 2026-06-04  3:44 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Pranjal Shrivastava, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

On 6/3/26 07:34, Lu Baolu wrote:
> Hi Joerg,
> 
> The following changes are queued for v7.2-rc1. This update introduces
> a few quick fixes and several refactorings, including:
> 
> - Add the PCI segment number to DMA fault messages.
> - Improve support for non-PRI mode SVA.
> - Ensure atomicity during context entry teardown.
> - Fix RB-tree corruption and a UAF error in the probe error path.
> 
> These patches are based on v7.1-rc6. Please consider pulling them for
> the iommu/vt-d branch.
> 
> Best regards,
> baolu
> 
> Guanghui Feng (1):
>    iommu/vt-d: Improve IOMMU fault information
> 
> Lu Baolu (1):
>    iommu/vt-d: Avoid WARNING in sva unbind path
> 
> Michael Bommarito (1):
>    iommu/vt-d: Clear Present bit before tearing down scalable-mode
>      context entry
> 
> Michał Grzelak (1):
>    iommu/vt-d: Remove typo from pasid_pte_config_nested()
> 
> Pranjal Shrivastava (2):
>    iommu/vt-d: Fix RB-tree corruption in probe error path

[...]

>    iommu/vt-d: Fix Use-After-Free in probe error path

This patch is unnecessary per the discussion here:

https://lore.kernel.org/linux-iommu/505c8f52-2526-4d78-bdff-1bf67f49129d@linux.intel.com/

I will send a v2 pull request with this patch removed.

Thanks,
baolu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2
  2026-06-04  3:44 ` [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Baolu Lu
@ 2026-06-04  5:27   ` Pranjal Shrivastava
  0 siblings, 0 replies; 9+ messages in thread
From: Pranjal Shrivastava @ 2026-06-04  5:27 UTC (permalink / raw)
  To: Baolu Lu
  Cc: Joerg Roedel, Guanghui Feng, Michał Grzelak,
	Michael Bommarito, iommu, linux-kernel

On Thu, Jun 04, 2026 at 11:44:30AM +0800, Baolu Lu wrote:
> On 6/3/26 07:34, Lu Baolu wrote:
> > Hi Joerg,
> > 
> > The following changes are queued for v7.2-rc1. This update introduces
> > a few quick fixes and several refactorings, including:
> > 
> > - Add the PCI segment number to DMA fault messages.
> > - Improve support for non-PRI mode SVA.
> > - Ensure atomicity during context entry teardown.
> > - Fix RB-tree corruption and a UAF error in the probe error path.
> > 
> > These patches are based on v7.1-rc6. Please consider pulling them for
> > the iommu/vt-d branch.
> > 
> > Best regards,
> > baolu
> > 
> > Guanghui Feng (1):
> >    iommu/vt-d: Improve IOMMU fault information
> > 
> > Lu Baolu (1):
> >    iommu/vt-d: Avoid WARNING in sva unbind path
> > 
> > Michael Bommarito (1):
> >    iommu/vt-d: Clear Present bit before tearing down scalable-mode
> >      context entry
> > 
> > Michał Grzelak (1):
> >    iommu/vt-d: Remove typo from pasid_pte_config_nested()
> > 
> > Pranjal Shrivastava (2):
> >    iommu/vt-d: Fix RB-tree corruption in probe error path
> 
> [...]
> 
> >    iommu/vt-d: Fix Use-After-Free in probe error path
> 
> This patch is unnecessary per the discussion here:
> 
> https://lore.kernel.org/linux-iommu/505c8f52-2526-4d78-bdff-1bf67f49129d@linux.intel.com/
> 
> I will send a v2 pull request with this patch removed.
> 

Thanks Lu!

Regards,
Praan

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-06-04  5:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-02 23:34 [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Lu Baolu
2026-06-02 23:34 ` [PATCH 1/6] iommu/vt-d: Avoid WARNING in sva unbind path Lu Baolu
2026-06-02 23:34 ` [PATCH 2/6] iommu/vt-d: Clear Present bit before tearing down scalable-mode context entry Lu Baolu
2026-06-02 23:34 ` [PATCH 3/6] iommu/vt-d: Remove typo from pasid_pte_config_nested() Lu Baolu
2026-06-02 23:34 ` [PATCH 4/6] iommu/vt-d: Improve IOMMU fault information Lu Baolu
2026-06-02 23:34 ` [PATCH 5/6] iommu/vt-d: Fix RB-tree corruption in probe error path Lu Baolu
2026-06-02 23:34 ` [PATCH 6/6] iommu/vt-d: Fix Use-After-Free " Lu Baolu
2026-06-04  3:44 ` [PATCH 0/6] [PULL REQUEST] Intel IOMMU updates for v7.2 Baolu Lu
2026-06-04  5:27   ` Pranjal Shrivastava

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox