[compiler-rt] [asan] Hide SetTLSFakeStack and replaces uses with ResetTLSFakeStack (PR #163674)
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 15 18:35:02 PDT 2025
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/163674
>From 7bd30423d3cd8ed7e0dbd33a9b2500b4ba0a78b5 Mon Sep 17 00:00:00 2001
From: Vitaly Buka <vitalybuka at google.com>
Date: Wed, 15 Oct 2025 18:20:25 -0700
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20change?=
=?UTF-8?q?s=20to=20main=20this=20commit=20is=20based=20on?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Created using spr 1.3.6
[skip ci]
---
compiler-rt/lib/asan/asan_fake_stack.cpp | 16 ++++++++++++----
compiler-rt/lib/asan/asan_fake_stack.h | 2 +-
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/compiler-rt/lib/asan/asan_fake_stack.cpp b/compiler-rt/lib/asan/asan_fake_stack.cpp
index 5034ea2a0e459..d243b5739a309 100644
--- a/compiler-rt/lib/asan/asan_fake_stack.cpp
+++ b/compiler-rt/lib/asan/asan_fake_stack.cpp
@@ -231,17 +231,25 @@ static FakeStack* GetFakeStack() {
}
static FakeStack* GetFakeStackFast() {
- if (FakeStack* fs = GetTLSFakeStack())
+ FakeStack* fs = GetTLSFakeStack();
+ if (LIKELY(fs))
return fs;
if (!__asan_option_detect_stack_use_after_return)
return nullptr;
- return GetFakeStack();
+ fs = GetFakeStack();
+ if (LIKELY(fs))
+ SetTLSFakeStack(fs);
+ return fs;
}
static FakeStack* GetFakeStackFastAlways() {
- if (FakeStack* fs = GetTLSFakeStack())
+ FakeStack* fs = GetTLSFakeStack();
+ if (LIKELY(fs))
return fs;
- return GetFakeStack();
+ fs = GetFakeStack();
+ if (LIKELY(fs))
+ SetTLSFakeStack(fs);
+ return fs;
}
static ALWAYS_INLINE uptr OnMalloc(uptr class_id, uptr size) {
diff --git a/compiler-rt/lib/asan/asan_fake_stack.h b/compiler-rt/lib/asan/asan_fake_stack.h
index ec772c3299f00..7dedb29809d22 100644
--- a/compiler-rt/lib/asan/asan_fake_stack.h
+++ b/compiler-rt/lib/asan/asan_fake_stack.h
@@ -195,7 +195,7 @@ class FakeStack {
void *true_start;
};
-void SetTLSFakeStack(FakeStack *fs);
+void SetTLSFakeStack(FakeStack* fs);
} // namespace __asan
More information about the llvm-commits
mailing list