Protected DMAbufs and its dynamic memory assignment woes
summary
Protected DMA-buf support targets secure media pipelines using a GStreamer pipeline with OP-TEE and must handle allocations of hundreds of MBs while keeping plaintext frames invisible to kernel/user space. Static carveouts work but waste memory; dynamic assignment requires lending normal pages to firmware and then removing kernel mappings, yet current dma_alloc_pages cannot unmap kernel pages and there’s no solid API. Explored fixes include HMM/device-private/device-exclusive approaches and a GFP-flag patch that allocates already-unmapped pages, but a reliable, efficient solution is still pending.
AI-written summary · about
chapters (8)
- 0:00Introduction to protected DMAbufs
- 3:15Secure media pipeline use case
- 6:46Kernel mainline adoption challenges
- 9:18Static memory carveouts limitations
- 10:45Dynamic memory assignment woes
- 13:58HMM and kernel page unmapping
- 18:15Memory protection and T framework
- 19:42Future confidential compute use cases
related talks
35mDMA Safety in Buffers for Linux Kernel Device Drivers
39mTaming DMA: Tales Wrestling Memory Corruption
34mPreventing DMA Attacks from Thunderbolt Devices
50mExporting Virtual Memory as dmabuf
38mUnmapped Private Memory for Confidential Guests
20mUnmapped Private Memory for Confidential Guests
37mPreventing DMA Attacks from Thunderbolt Devices
33mAI Accelerated Exploiting: Compromising MTE Enabled Pixel from DSP Coprocessor
