]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
dma/pool: Ensure DMA_DIRECT_REMAP allocations are decrypted
authorShanker Donthineni <sdonthineni@nvidia.com>
Mon, 11 Aug 2025 18:17:59 +0000 (13:17 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Sep 2025 13:31:54 +0000 (15:31 +0200)
commit23d7325151d438385d1386419f5f30f437c4bc2a
tree642840896ea8759b9c4a4c0adea5e0626c0be687
parentc50747a963c49f020a39f6d5740e9a9cce55889c
dma/pool: Ensure DMA_DIRECT_REMAP allocations are decrypted

commit 89a2d212bdb4bc29bed8e7077abe054b801137ea upstream.

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@vger.kernel.org
Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20250811181759.998805-1-sdonthineni@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/dma/pool.c