[PATCH v2] dma/pool: Ensure DMA_DIRECT_REMAP allocations are decrypted

Catalin Marinas catalin.marinas at arm.com
Tue Aug 12 03:25:33 PDT 2025


On Mon, Aug 11, 2025 at 01:17:59PM -0500, Shanker Donthineni wrote:
> When CONFIG_DMA_DIRECT_REMAP is enabled, atomic pool pages are
> remapped via dma_common_contiguous_remap() using the supplied
> pgprot. Currently, the mapping uses
> pgprot_dmacoherent(PAGE_KERNEL), which leaves the memory encrypted
> on systems with memory encryption enabled (e.g., ARM CCA Realms).
> 
> This can cause the DMA layer to fail or crash when accessing the
> memory, as the underlying physical pages are not configured as
> expected.
> 
> Fix this by requesting a decrypted mapping in the vmap() call:
> pgprot_decrypted(pgprot_dmacoherent(PAGE_KERNEL))
> 
> This ensures that atomic pool memory is consistently mapped
> unencrypted.
> 
> Cc: stable at vger.kernel.org
> Signed-off-by: Shanker Donthineni <sdonthineni at nvidia.com>

Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>



More information about the linux-arm-kernel mailing list