[clang] [llvm] [MTE] Add an attribute to opt-in memory tagging of global variables while using fsanitize=memtag-globals (#166380) (PR #168535)
Florian Mayer via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 5 10:05:00 PST 2025
================
@@ -3659,9 +3659,11 @@ def ForceMemtagDocs : Documentation {
let Category = DocCatVariable;
let Content = [{
Use the ``force_memtag`` attribute on a global variable declaration that also
-has the attribute section and the memory tag sanitizer is active to force the
-global variable to be MTE tagged. Global variables under sections are not
+has the attribute section. If the memory tag sanitizer is active, will force
+the global variable to be MTE tagged. Global variables under sections are not
tagged by default, so you need to explicitly opt-in using this attribute.
+Please note that, unfortunately, in some non-trivial cases where memory layout
+is assumed, forcing enabling the memtag will cause SIGSEGV/MTE[AS]ERR.
----------------
fmayer wrote:
No that's not true. It can cause _all sorts of things_, depending on what the code assuming the alignment does. It might lead to extremely hard to debug random bugs.
https://github.com/llvm/llvm-project/pull/168535
More information about the llvm-commits
mailing list