* [PATCH] iommu/io-pgtable-arm: Clean up faulty sanity check
@ 2020-09-21 15:08 Robin Murphy
2020-09-21 16:09 ` Christoph Hellwig
0 siblings, 1 reply; 2+ messages in thread
From: Robin Murphy @ 2020-09-21 15:08 UTC (permalink / raw)
To: hch; +Cc: iommu, james.quinlan, will, Naresh Kamboju, linux-arm-kernel
Checking for a nonzero dma_pfn_offset was a quick shortcut to validate
whether the DMA == phys assumption could hold at all. Checking for a
non-NULL dma_range_map is not quite equivalent, since a map may be
present to describe a limited DMA window even without an offset, and
thus this check can now yield false positives.
However, it only ever served to short-circuit going all the way through
to __arm_lpae_alloc_pages(), failing the canonical test there, and
having a bit more to clean up. As such, we can simply remove it without
loss of correctness.
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
drivers/iommu/io-pgtable-arm.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c
index d77e881516a4..f87cbb822a3d 100644
--- a/drivers/iommu/io-pgtable-arm.c
+++ b/drivers/iommu/io-pgtable-arm.c
@@ -751,11 +751,6 @@ arm_lpae_alloc_pgtable(struct io_pgtable_cfg *cfg)
if (cfg->oas > ARM_LPAE_MAX_ADDR_BITS)
return NULL;
- if (!selftest_running && cfg->iommu_dev->dma_range_map) {
- dev_err(cfg->iommu_dev, "Cannot accommodate DMA offset for IOMMU page tables\n");
- return NULL;
- }
-
data = kmalloc(sizeof(*data), GFP_KERNEL);
if (!data)
return NULL;
--
2.28.0.dirty
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] iommu/io-pgtable-arm: Clean up faulty sanity check
2020-09-21 15:08 [PATCH] iommu/io-pgtable-arm: Clean up faulty sanity check Robin Murphy
@ 2020-09-21 16:09 ` Christoph Hellwig
0 siblings, 0 replies; 2+ messages in thread
From: Christoph Hellwig @ 2020-09-21 16:09 UTC (permalink / raw)
To: Robin Murphy
Cc: iommu, james.quinlan, Naresh Kamboju, will, hch, linux-arm-kernel
On Mon, Sep 21, 2020 at 04:08:01PM +0100, Robin Murphy wrote:
> Checking for a nonzero dma_pfn_offset was a quick shortcut to validate
> whether the DMA == phys assumption could hold at all. Checking for a
> non-NULL dma_range_map is not quite equivalent, since a map may be
> present to describe a limited DMA window even without an offset, and
> thus this check can now yield false positives.
>
> However, it only ever served to short-circuit going all the way through
> to __arm_lpae_alloc_pages(), failing the canonical test there, and
> having a bit more to clean up. As such, we can simply remove it without
> loss of correctness.
>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Thanks,
applied to the dma-mapping for-next tree.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-09-21 16:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-21 15:08 [PATCH] iommu/io-pgtable-arm: Clean up faulty sanity check Robin Murphy
2020-09-21 16:09 ` Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).