]> git.dujemihanovic.xyz Git - linux.git/commit
dma-mapping: fix vmap and mmap of noncontiougs allocations
authorChristoph Hellwig <hch@lst.de>
Sun, 22 Sep 2024 07:10:17 +0000 (09:10 +0200)
committerChristoph Hellwig <hch@lst.de>
Sun, 22 Sep 2024 16:47:51 +0000 (18:47 +0200)
commitbb0e391975f8da826305cbaa3e3d34b03c47e2a6
treea4ebb4149ed7fc7a663952e3689742eb1334cfd1
parent88264981f2082248e892a706b2c5004650faac54
dma-mapping: fix vmap and mmap of noncontiougs allocations

Commit b5c58b2fdc42 ("dma-mapping: direct calls for dma-iommu") switched
to use direct calls to dma-iommu, but missed the dma_vmap_noncontiguous,
dma_vunmap_noncontiguous and dma_mmap_noncontiguous behavior keyed off the
presence of the alloc_noncontiguous method.

Fix this by removing the now unused alloc_noncontiguous and
free_noncontiguous methods and moving the vmapping and mmaping of the
noncontiguous allocations into the iommu code, as it is the only provider
of actually noncontiguous allocations.

Fixes: b5c58b2fdc42 ("dma-mapping: direct calls for dma-iommu")
Reported-by: Xi Ruoyao <xry111@xry111.site>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Leon Romanovsky <leon@kernel.org>
Tested-by: Xi Ruoyao <xry111@xry111.site>
drivers/iommu/dma-iommu.c
include/linux/dma-map-ops.h
include/linux/iommu-dma.h
kernel/dma/mapping.c