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

Will Deacon posted 6 patches 1 year, 9 months ago
drivers/iommu/dma-iommu.c |  9 ++++++++
kernel/dma/swiotlb.c      | 47 ++++++++++++++++++++++++++++-----------
2 files changed, 43 insertions(+), 13 deletions(-)
[PATCH v6 0/6] Fix double allocation in swiotlb_alloc()
Posted by Will Deacon 1 year, 9 months ago
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@kernel.org
v2: https://lore.kernel.org/r/20240131122543.14791-1-will@kernel.org
v3: https://lore.kernel.org/r/20240205190127.20685-1-will@kernel.org
v4: https://lore.kernel.org/r/20240221113504.7161-1-will@kernel.org
v5: https://lore.kernel.org/r/20240228133930.15400-1-will@kernel.org

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@lists.linux.dev
Cc: Christoph Hellwig <hch@lst.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Petr Tesarik <petr.tesarik1@huawei-partners.com>
Cc: Dexuan Cui <decui@microsoft.com>
Cc: Nicolin Chen <nicolinc@nvidia.com>
Cc: Michael Kelley <mhklinux@outlook.com>

--->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
Re: [PATCH v6 0/6] Fix double allocation in swiotlb_alloc()
Posted by Nicolin Chen 1 year, 9 months ago
On Fri, Mar 08, 2024 at 03:28:23PM +0000, Will Deacon wrote:
> 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@kernel.org
> v2: https://lore.kernel.org/r/20240131122543.14791-1-will@kernel.org
> v3: https://lore.kernel.org/r/20240205190127.20685-1-will@kernel.org
> v4: https://lore.kernel.org/r/20240221113504.7161-1-will@kernel.org
> v5: https://lore.kernel.org/r/20240228133930.15400-1-will@kernel.org
> 
> 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@lists.linux.dev
> Cc: Christoph Hellwig <hch@lst.de>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Robin Murphy <robin.murphy@arm.com>
> Cc: Petr Tesarik <petr.tesarik1@huawei-partners.com>
> Cc: Dexuan Cui <decui@microsoft.com>
> Cc: Nicolin Chen <nicolinc@nvidia.com>

Was out of office, so couldn't rerun the test. If it still matters:

Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Re: [PATCH v6 0/6] Fix double allocation in swiotlb_alloc()
Posted by Christoph Hellwig 1 year, 9 months ago
Thanks, I've applied this to the dma-mapping tree and plan to send it
onto Linus after a bit of soaking time.
Re: [PATCH v6 0/6] Fix double allocation in swiotlb_alloc()
Posted by Will Deacon 1 year, 9 months ago
On Mon, Mar 11, 2024 at 02:36:17PM +0100, Christoph Hellwig wrote:
> 
> Thanks, I've applied this to the dma-mapping tree and plan to send it
> onto Linus after a bit of soaking time.

Cheers, Christoph. I'm suspecting we'll have a few extra fixes as we
collectively get a better understanding of this code (and also as Petr
develops the selftests), but we can send those on top of this series.

Will