[PATCH] D132425: [clang] Do not instrument relative vtables under hwasan
Mitch Phillips via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 26 12:18:10 PDT 2022
hctim added a comment.
Glad to see that refactoring the sanitizer metadata made someone's life easier ;) (now allowing for disabling hwasanificiation of globals)
Patch looks reasonable to me. Can you please add the negative test (that vtables under the vanilla ABI still have hwasan)?
I wans't fully aware of the relative vtables ABI, and it may have some implications about MTE globals tagging (draft abi <https://github.com/ARM-software/abi-aa/blob/c52c9da1e4e4bec2a469499db5f175161142ea00/memtagabielf64/memtagabielf64.rst#tagging-global-variables>). Because logical tags are synthesized at runtime into a synthetic GOT entry - dynamic relocations I believe would be forced (removing any benefit of the relative vtables ABI), so for now it seems like MTE globals and relative vtables are mutually exclusive. Another option would be to disable MTE globals for relative vtables as well. No action needed on your part, just putting some wordso n paper that this might need some consideration at a later date if Fuchsia wants to support MTE globals.
================
Comment at: clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp:1
+// RUN: %clang_cc1 %s -triple=aarch64-unknown-fuchsia -S -o - -emit-llvm -fsanitize=hwaddress | FileCheck %s
+
----------------
Can you add a note here that `-triple=aarch64-unknown-fuchsia` has implicit relative vtables
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132425/new/
https://reviews.llvm.org/D132425
More information about the cfe-commits
mailing list