English

Memory Tagging and how it improves C/C++ memory safety

Cryptography and Security 2018-02-27 v1 Hardware Architecture Programming Languages

Abstract

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.

Keywords

Cite

@article{arxiv.1802.09517,
  title  = {Memory Tagging and how it improves C/C++ memory safety},
  author = {Kostya Serebryany and Evgenii Stepanov and Aleksey Shlyapnikov and Vlad Tsyrklevich and Dmitry Vyukov},
  journal= {arXiv preprint arXiv:1802.09517},
  year   = {2018}
}
R2 v1 2026-06-23T00:34:03.978Z