[GIT PULL] second dma-mapping update for Linux 7.3
Marek Szyprowski <[email protected]>
| Newsgroups | dev.linux.lists.iommu,dev.linux.lists.linux-coco,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
The following changes since commit 221049874b6a78c7d87bc826581b0695cd338e2b:
arm64: RSI: fix field-spanning write warning in attestation token init (2026-07-26 14:22:46 +0000)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux.git tags/dma-mapping-7.3-2026-08-24-2
for you to fetch changes up to 04a19b35dc05354445f0096befad63af885bb77e:
swiotlb: remove unused SWIOTLB_FORCE flag (2026-07-31 08:44:52 +0200)
----------------------------------------------------------------
second dma-mapping update for Linux 7.3:
- important dma-mapping update for confidential-computing, which adds
proper tracking of the shared DMA state through direct, pool and swiotlb
paths (Aneesh Kumar K.V)
----------------------------------------------------------------
This pull-request is based on the already merged stable branch from
arm64 tree. The conflic in arch/s390/mm/init.c should be resolved to:
swiotlb_init(true, SWIOTLB_VERBOSE | SWIOTLB_ANY);
----------------------------------------------------------------
Aneesh Kumar K.V (Arm) (23):
dma-direct: return struct page from dma_direct_alloc_from_pool()
dma-pool: fix page leak in atomic_pool_expand() cleanup
iommu/dma: Check atomic pool allocation result directly
dma: free atomic pool pages by physical address
swiotlb: Preserve allocation virtual address for dynamic pools
s390: Expose protected virtualization through cc_platform_has()
dma-direct: swiotlb: handle swiotlb alloc/free outside __dma_direct_alloc_pages
coco: arm64: s390: powerpc: Mark secure guests with CC_ATTR_GUEST_MEM_ENCRYPT
dma-mapping: Add internal shared allocation attribute
dma-direct: use __DMA_ATTR_ALLOC_CC_SHARED in alloc/free paths
dma-pool: track decrypted atomic pools and select them via attrs
dma: swiotlb: pass mapping attributes by reference
dma: swiotlb: track pool encryption state and honor DMA_ATTR_CC_SHARED
dma-mapping: make dma_pgprot() honor __DMA_ATTR_ALLOC_CC_SHARED
dma-direct: pass attrs to dma_capable() for DMA_ATTR_CC_SHARED checks
dma-direct: Move dma_direct_map_phys() to dma/direct.c
dma-direct: make dma_direct_map_phys() honor DMA_ATTR_CC_SHARED
dma-direct: set decrypted flag for remapped DMA allocations
dma-direct: select DMA address encoding from __DMA_ATTR_ALLOC_CC_SHARED
dma-direct: rename ret to cpu_addr in alloc helpers
dma: swiotlb: free dynamic pools from process context
dma: swiotlb: handle set_memory_decrypted() failures
swiotlb: remove unused SWIOTLB_FORCE flag
Documentation/core-api/dma-attributes.rst | 29 +++
arch/arm64/mm/init.c | 5 +-
arch/powerpc/platforms/pseries/cc_platform.c | 1 +
arch/powerpc/platforms/pseries/svm.c | 2 +-
arch/s390/Kconfig | 1 +
arch/s390/mm/init.c | 17 +-
arch/x86/kernel/amd_gart_64.c | 30 +--
arch/x86/kernel/pci-dma.c | 4 +-
drivers/iommu/dma-iommu.c | 20 +-
drivers/xen/swiotlb-xen.c | 8 +-
include/linux/dma-direct.h | 20 +-
include/linux/dma-map-ops.h | 3 +-
include/linux/dma-mapping.h | 8 +
include/linux/swiotlb.h | 25 +-
include/trace/events/dma.h | 3 +-
kernel/dma/direct.c | 326 ++++++++++++++++++++-------
kernel/dma/direct.h | 56 +----
kernel/dma/mapping.c | 25 +-
kernel/dma/pool.c | 237 ++++++++++++++-----
kernel/dma/swiotlb.c | 292 ++++++++++++++++++------
20 files changed, 810 insertions(+), 302 deletions(-)
----------------------------------------------------------------
Thanks!
Best regards
Marek Szyprowski, PhD
Samsung R&D Institute Poland