5 ms·
Links to the source for ARM MTE support in the LLVM / LLDB -fsanitize=memtag sanitizer: lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp :
by westurner 11mo ago
Links to the source for ARM MTE support in the LLVM / LLDB -fsanitize=memtag sanitizer:
lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp :
https://github.com/llvm/llvm-project/blob/main/lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp https://github.com/llvm/llvm-project/blob/main/lldb/source/P...
lldb/source/Target/MemoryTagMap.cpp: https://github.com/llvm/llvm-project/blob/main/lldb/source/Target/MemoryTagMap.cpp https://github.com/llvm/llvm-project/blob/main/lldb/source/T... , lldb/unittests/Target/MemoryTagMapTest.cpp:
https://github.com/llvm/llvm-project/blob/main/lldb/unittests/Target/MemoryTagMapTest.cpp https://github.com/llvm/llvm-project/blob/main/lldb/unittest...
lldb/test/API/linux/aarch64/mte_*:
https://github.com/llvm/llvm-project/tree/main/lldb/test/API/linux/aarch64 https://github.com/llvm/llvm-project/tree/main/lldb/test/API...
clang/test/Driver/aarch64-mte.c:
https://github.com/llvm/llvm-project/blob/main/clang/test/Driver/aarch64-mte.c https://github.com/llvm/llvm-project/blob/main/clang/test/Dr...
clang/unittests/Driver/SanitizerArgsTest.cpp looks thin:
https://github.com/llvm/llvm-project/blob/main/clang/unittests/Driver/SanitizerArgsTest.cpp https://github.com/llvm/llvm-project/blob/main/clang/unittes...
SanitizerArgs.cpp:
https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/SanitizerArgs.cpp https://github.com/llvm/llvm-project/blob/main/clang/lib/Dri...
llvm/docs/MemTagSanitizer.rst: https://github.com/llvm/llvm-project/blob/main/llvm/docs/MemTagSanitizer.rst https://github.com/llvm/llvm-project/blob/main/llvm/docs/Mem... :
-fsanitize=memtag
-fsanitize-memtag-mode=
-f[no-]sanitize-memory-track-origins[=level]
-march=armv8+memtag
- westurner 11mo agoLLVM docs > MemTagSanitizer > Heap Tagging: https://llvm.org/docs/MemTagSanitizer.html#heap-tagging https://llvm.org/docs/MemTagSanitizer.html#heap-tagging : > Heap Tagging: Note: this part is not implemented as of Oct 2019. > MemTagSanitizer will use Scudo Hardened Allocator with additional code to update memory tags when LLVM docs > Scudo Hardened Allocator: https://llvm.org/docs/ScudoHardenedAllocator.html https://llvm.org/docs/ScudoHardenedAllocator.html : > The Scudo Hardened Allocator is a user-mode allocator, originally based on LLVM Sanitizers’ CombinedAllocator. It aims at providing additional mitigation against heap based vulnerabilities, while maintaining good performance. Scudo is currently the default allocator in Fuchsia, and in Android since Android 11 compiler-rt/lib/scudo/standalone: https://github.com/llvm/llvm-project/tree/main/compiler-rt/lib/scudo/standalone https://github.com/llvm/llvm-project/tree/main/compiler-rt/l... hardened_malloc is an alternative to scudo.