dma-pool: decouple DMA_REMAP from DMA_COHERENT_POOL
authorDavid Rientjes <rientjes@google.com>
Thu, 11 Jun 2020 07:25:57 +0000 (00:25 -0700)
committerChristoph Hellwig <hch@lst.de>
Mon, 15 Jun 2020 06:35:30 +0000 (08:35 +0200)
DMA_REMAP is an unnecessary requirement for AMD SEV, which requires
DMA_COHERENT_POOL, so avoid selecting it when it is otherwise unnecessary.

The only other requirement for DMA coherent pools is DMA_DIRECT_REMAP, so
ensure that properly selects the config option when needed.

Fixes: 82fef0ad811f ("x86/mm: unencrypted non-blocking DMA allocations use coherent pools")
Reported-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Signed-off-by: David Rientjes <rientjes@google.com>
Tested-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Signed-off-by: Christoph Hellwig <hch@lst.de>
kernel/dma/Kconfig

index d006668..a0ce3c1 100644 (file)
@@ -73,18 +73,18 @@ config SWIOTLB
 config DMA_NONCOHERENT_MMAP
        bool
 
+config DMA_COHERENT_POOL
+       bool
+
 config DMA_REMAP
+       bool
        depends on MMU
        select GENERIC_ALLOCATOR
        select DMA_NONCOHERENT_MMAP
-       bool
-
-config DMA_COHERENT_POOL
-       bool
-       select DMA_REMAP
 
 config DMA_DIRECT_REMAP
        bool
+       select DMA_REMAP
        select DMA_COHERENT_POOL
 
 config DMA_CMA