Re: [PATCH v3] iommu/dma: Fix IOVA reserve dma ranges

From: Robin Murphy
Date: Thu Jun 03 2021 - 07:00:56 EST


On 2021-06-02 21:18, Sven Peter wrote:
Hi,

I just ran into the exact same issue while working on the M1 DART IOMMU driver
and it was fixed by this commit. Thanks!

Would be great if this could be picked up.

Oops, apparently I was happy enough with this 9 months ago to forget about it, so if it helps,

Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>

Tested-by: Sven Peter <sven@xxxxxxxxxxxxx>


Best,


Sven


On Mon, Sep 14, 2020, at 09:23, Srinath Mannam via iommu wrote:
Fix IOVA reserve failure in the case when address of first memory region
listed in dma-ranges is equal to 0x0.

Fixes: aadad097cd46f ("iommu/dma: Reserve IOVA for PCIe inaccessible
DMA address")
Signed-off-by: Srinath Mannam <srinath.mannam@xxxxxxxxxxxx>
---
Changes from v2:
Modify error message with useful information based on Bjorn's
comments.

Changes from v1:
Removed unnecessary changes based on Robin's review comments.

drivers/iommu/dma-iommu.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index 5141d49a046b..5b9791f35c5e 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -217,9 +217,11 @@ static int iova_reserve_pci_windows(struct pci_dev *dev,
lo = iova_pfn(iovad, start);
hi = iova_pfn(iovad, end);
reserve_iova(iovad, lo, hi);
- } else {
+ } else if (end < start) {
/* dma_ranges list should be sorted */
- dev_err(&dev->dev, "Failed to reserve IOVA\n");
+ dev_err(&dev->dev,
+ "Failed to reserve IOVA [%#010llx-%#010llx]\n",
+ start, end);
return -EINVAL;
}
--
2.17.1

_______________________________________________
iommu mailing list
iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/iommu