sponsors
help promote
Get more
Help Promote graphics!
usenix conference policies
Efficient Intra-Operating System Protection Against Harmful DMAs
Moshe Malka, Nadav Amit, and Dan Tsafrir, Technion—Israel Institute of Technology
Operating systems can defend themselves against misbehaving I/O devices and drivers by employing intra-OS protection. With “strict” intra-OS protection, the OS uses the IOMMU to map each DMA buffer immediately before the DMA occurs and to unmap it immediately after. Strict protection is costly due to IOMMU-related hardware overheads, motivating “deferred” intra-OS protection, which trades off some safety for performance.
We investigate the Linux intra-OS protection mapping layer and discover that hardware overheads are not exclusively to blame for its high cost. Rather, the cost is amplified by the I/O virtual address (IOVA) allocator, which regularly induces linear complexity. We find that the nature of IOVA allocation requests is inherently simple and constrained due to the manner by which I/O devices are used, allowing us to deliver constant time complexity with a compact, easy-to-implement optimization. Our optimization improves the throughput of standard benchmarks by up to 5.5x. It delivers strict protection with performance comparable to that of the baseline deferred protection.
To generalize our case that OSes drive the IOMMU with suboptimal software, we additionally investigate the FreeBSD mapping layer and obtain similar findings.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Moshe Malka and Nadav Amit and Dan Tsafrir},
title = {Efficient {Intra-Operating} System Protection Against Harmful {DMAs}},
booktitle = {13th USENIX Conference on File and Storage Technologies (FAST 15)},
year = {2015},
isbn = {978-1-931971-201},
address = {Santa Clara, CA},
pages = {29--44},
url = {https://www.usenix.org/conference/fast15/technical-sessions/presentation/malka},
publisher = {USENIX Association},
month = feb
}
connect with us