[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