summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Florian Mayer <fmayer@google.com> 2022-10-19 10:52:12 -0700
committer Treehugger Robot <treehugger-gerrit@google.com> 2022-10-20 10:10:28 +0000
commit29730bd23468cf16fc232a2bdd13edc89b6eccff (patch)
treee87e6c559a98588fb1e33fd04c47f27a5bbab4a9
parentd3204d9efa2383c01c10c7a5f49891aff67cf509 (diff)
Disable hwasan for fault_address_tag
Test: atest art_standalone_sigchain_tests on flame_hwasan Bug: 254365701 Change-Id: Ia7a7362c09278fc0f1a690d752cae252673cc0f2
-rw-r--r--sigchainlib/sigchain_test.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/sigchainlib/sigchain_test.cc b/sigchainlib/sigchain_test.cc
index 6af38becfa..7d5d5f0476 100644
--- a/sigchainlib/sigchain_test.cc
+++ b/sigchainlib/sigchain_test.cc
@@ -37,6 +37,12 @@
#include "sigchain.h"
+#if defined(__clang__) && __has_feature(hwaddress_sanitizer)
+#define DISABLE_HWASAN __attribute__((no_sanitize("hwaddress")))
+#else
+#define DISABLE_HWASAN
+#endif
+
#if !defined(__BIONIC__)
using sigset64_t = sigset_t;
@@ -249,9 +255,8 @@ TEST_F(SigchainTest, EnsureFrontOfChain) {
called = 0;
}
-TEST_F(SigchainTest, fault_address_tag) {
-#define SA_EXPOSE_TAGBITS 0x00000800
#if defined(__aarch64__)
+DISABLE_HWASAN void fault_address_tag_impl() {
struct sigaction action = {};
action.sa_flags = SA_SIGINFO;
action.sa_sigaction = [](int, siginfo_t* siginfo, void*) {
@@ -273,6 +278,13 @@ TEST_F(SigchainTest, fault_address_tag) {
EXPECT_EXIT({ volatile int load __attribute__((unused)) = *tagged_null; },
testing::ExitedWithCode(0x2b), "");
}
+}
+#endif
+
+TEST_F(SigchainTest, fault_address_tag) {
+#define SA_EXPOSE_TAGBITS 0x00000800
+#if defined(__aarch64__)
+ fault_address_tag_impl();
#else
GTEST_SKIP() << "arm64 only";
#endif