[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] iommu/amd: Remove dead non-atomic update checking
When updating a DTE, amd_iommu_setup_domain_device checks if the update had been non-atomic (i.e rc > 0) and eventually throws a warning but since [1], rc can no longer be positive, making this check never taken. [1] x86/iommu: remove non-CX16 logic from DMA remapping https://gitlab.com/xen-project/xen/-/commit/3fc44151d83d3d63320036bcf06634dfbebe1ff3 Signed-off-by: Teddy Astie <teddy.astie@xxxxxxxxxx> --- xen/drivers/passthrough/amd/iommu_map.c | 4 +--- xen/drivers/passthrough/amd/pci_amd_iommu.c | 18 ------------------ 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c index dde393645a..07f405ed63 100644 --- a/xen/drivers/passthrough/amd/iommu_map.c +++ b/xen/drivers/passthrough/amd/iommu_map.c @@ -157,9 +157,7 @@ static void set_iommu_ptes_present(unsigned long pt_mfn, /* * This function returns * - -errno for errors, - * - 0 for a successful update, atomic when necessary - * - 1 for a successful but non-atomic update, which may need to be warned - * about by the caller. + * - 0 for a successful update */ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte, uint64_t root_ptr, uint16_t domain_id, diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c index d00697edb3..409752ffc8 100644 --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c @@ -225,24 +225,6 @@ static int __must_check amd_iommu_setup_domain_device( spin_unlock_irqrestore(&iommu->lock, flags); return rc; } - if ( rc && - domain != pdev->domain && - /* - * By non-atomically updating the DTE's domain ID field last, - * during a short window in time TLB entries with the old domain - * ID but the new page tables may have been inserted. This could - * affect I/O of other devices using this same (old) domain ID. - * Such updating therefore is not a problem if this was the only - * device associated with the old domain ID. Diverting I/O of any - * of a dying domain's devices to the quarantine page tables is - * intended anyway. - */ - !pdev->domain->is_dying && - pdev->domain != dom_io && - (any_pdev_behind_iommu(pdev->domain, pdev, iommu) || - pdev->phantom_stride) ) - AMD_IOMMU_WARN(" %pp: reassignment may cause %pd data corruption\n", - &PCI_SBDF(pdev->seg, bus, devfn), pdev->domain); /* * Check remaining settings are still in place from an earlier call -- 2.49.0 Teddy Astie | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |