2018/02/26 by Kostya Serebryany, Serebryany, Kostya, Evgenii Stepanov +7 · 1 voice · 9 citations
#cs.CR #cs.AR #cs.PL
paper · pdf · doi:10.48550/arxiv.1802.09517
Memory safety in C and C++ remains largely unresolved. A technique usually called "memory tagging" may dramatically improve the situation if implemented in hardware with reasonable overhead. This paper describes two existing implementations of memory tagging: one is the full hardware implementation in SPARC; the other is a partially hardware-assisted compiler-based tool for AArch64. We describe the basic idea, evaluate the two implementations, and explain how they improve memory safety. This paper is intended to initiate a wider discussion of memory tagging and to motivate the CPU and OS vendors to add support for it in the near future.