All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] iommu/amd: Preserve default DTE fields when updating Host Page Table Root
@ 2025-01-06 19:14 Alejandro Jimenez
  2025-01-07  8:50 ` Srivastava, Dheeraj Kumar
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Alejandro Jimenez @ 2025-01-06 19:14 UTC (permalink / raw)
  To: iommu, linux-kernel
  Cc: joro, suravee.suthikulpanit, vasant.hegde, will, jgg,
	joao.m.martins, boris.ostrovsky, alejandro.j.jimenez

When updating the page table root field on the DTE, avoid overwriting any
bits that are already set. The earlier call to make_clear_dte() writes
default values that all DTEs must have set (currently DTE[V]), and those
must be preserved.

Currently this doesn't cause problems since the page table root update is
the first field that is set after make_clear_dte() is called, and
DTE_FLAG_V is set again later along with the permission bits (IR/IW).
Remove this redundant assignment too.

Fixes: fd5dff9de4be ("iommu/amd: Modify set_dte_entry() to use 256-bit DTE helpers")
Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
---
 drivers/iommu/amd/iommu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index 20177e18eb0d..a8c17b602c95 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -2052,12 +2052,12 @@ static void set_dte_entry(struct amd_iommu *iommu,
 	make_clear_dte(dev_data, dte, &new);
 
 	if (domain->iop.mode != PAGE_MODE_NONE)
-		new.data[0] = iommu_virt_to_phys(domain->iop.root);
+		new.data[0] |= iommu_virt_to_phys(domain->iop.root);
 
 	new.data[0] |= (domain->iop.mode & DEV_ENTRY_MODE_MASK)
 		    << DEV_ENTRY_MODE_SHIFT;
 
-	new.data[0] |= DTE_FLAG_IR | DTE_FLAG_IW | DTE_FLAG_V;
+	new.data[0] |= DTE_FLAG_IR | DTE_FLAG_IW;
 
 	/*
 	 * When SNP is enabled, we can only support TV=1 with non-zero domain ID.

base-commit: 1f37ef785d54b27e304c189038697a845259408a
-- 
2.39.3


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

end of thread, other threads:[~2025-02-28 11:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-06 19:14 [PATCH 1/1] iommu/amd: Preserve default DTE fields when updating Host Page Table Root Alejandro Jimenez
2025-01-07  8:50 ` Srivastava, Dheeraj Kumar
2025-01-07 12:15 ` Vasant Hegde
2025-01-07 13:36   ` Arun Kodilkar, Sairaj
2025-01-07 18:01   ` Jason Gunthorpe
2025-02-26 16:19     ` Alejandro Jimenez
2025-02-26 16:35       ` Jason Gunthorpe
2025-02-28  9:54       ` Vasant Hegde
2025-02-28 11:18 ` Joerg Roedel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.