[PATCH v6 0/6] Fix double allocation in swiotlb_alloc()

From: Will Deacon
Date: Fri Mar 08 2024 - 10:28:44 EST


Hi again, folks,

This is version six of the patches which I previously posted at:

v1: https://lore.kernel.org/r/20240126151956.10014-1-will@xxxxxxxxxx
v2: https://lore.kernel.org/r/20240131122543.14791-1-will@xxxxxxxxxx
v3: https://lore.kernel.org/r/20240205190127.20685-1-will@xxxxxxxxxx
v4: https://lore.kernel.org/r/20240221113504.7161-1-will@xxxxxxxxxx
v5: https://lore.kernel.org/r/20240228133930.15400-1-will@xxxxxxxxxx

Changes since v5 include:

- Rework the final patch to preserve page-alignment for streaming
requests without a DMA alignment mask

- Added Reviewed-by tags from Michael

Cheers,

Will

Cc: iommu@xxxxxxxxxxxxxxx
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: Robin Murphy <robin.murphy@xxxxxxx>
Cc: Petr Tesarik <petr.tesarik1@xxxxxxxxxxxxxxxxxxx>
Cc: Dexuan Cui <decui@xxxxxxxxxxxxx>
Cc: Nicolin Chen <nicolinc@xxxxxxxxxx>
Cc: Michael Kelley <mhklinux@xxxxxxxxxxx>

--->8

Nicolin Chen (1):
iommu/dma: Force swiotlb_max_mapping_size on an untrusted device

Will Deacon (5):
swiotlb: Fix double-allocation of slots due to broken alignment
handling
swiotlb: Enforce page alignment in swiotlb_alloc()
swiotlb: Honour dma_alloc_coherent() alignment in swiotlb_alloc()
swiotlb: Fix alignment checks when both allocation and DMA masks are
present
swiotlb: Reinstate page-alignment for mappings >= PAGE_SIZE

drivers/iommu/dma-iommu.c | 9 ++++++++
kernel/dma/swiotlb.c | 47 ++++++++++++++++++++++++++++-----------
2 files changed, 43 insertions(+), 13 deletions(-)

--
2.44.0.278.ge034bb2e1d-goog