Explore DMA safety in buffers for Linux kernel device drivers in this conference talk. Delve into findings originating from an I2C subsystem issue that became more widespread, addressing the question of DMA safety for externally allocated message buffers. Evaluate buffer handling in various subsystems, uncovering instances where DMA safety relies on coincidence or assumptions that may not always hold true, especially considering future kernel hardening changes. Discover the challenges of checking DMA buffer capability and learn about current solutions. Gain insights into the importance of this problem for embedded system safety and the need for increased scrutiny. Understand the implications of DMA usage, potential code paths, and unexpected issues across different subsystems, including I2C and SPI. Learn debugging techniques, considerations for DMA buffer subsystem maintainers, and the broader impact on Linux kernel development.
Overview
Syllabus
Intro
Why use DMA
Two potential code paths
ISquareC client side
Other subsystems
SPI
Unexpected Issues
Conclusions
Debugging
DMA Buff
Subsystem Maintainer
Developers
Linux Foundation
Taught by
Linux Foundation