@@ -217,44 +217,26 @@ static THREADLOCAL FakeStack *fake_stack_tls;
217217FakeStack *GetTLSFakeStack () {
218218 return fake_stack_tls;
219219}
220- void SetTLSFakeStack (AsanThread* t, FakeStack* fs) {
221- if (fs && !t->IsFakeStackEnabled ()) {
222- return ;
223- }
220+ void SetTLSFakeStack (FakeStack *fs) {
224221 fake_stack_tls = fs;
225222}
226223#else
227224FakeStack *GetTLSFakeStack () { return 0 ; }
228- void SetTLSFakeStack (AsanThread* t, FakeStack* fs) {}
225+ void SetTLSFakeStack (FakeStack * fs) { }
229226#endif // (SANITIZER_LINUX && !SANITIZER_ANDROID) || SANITIZER_FUCHSIA
230227
231- static void DisableFakeStack () {
228+ static FakeStack * GetFakeStack () {
232229 AsanThread *t = GetCurrentThread ();
233- if (t) {
234- t->SetFakeStackEnabled (false );
235- }
236- }
237-
238- static void EnableFakeStack () {
239- AsanThread* t = GetCurrentThread ();
240- if (t) {
241- t->SetFakeStackEnabled (true );
242- }
243- }
244-
245- static FakeStack* GetFakeStack (bool for_allocation = true ) {
246- AsanThread* t = GetCurrentThread ();
247- if (!t || (for_allocation && !t->IsFakeStackEnabled ()))
248- return nullptr ;
230+ if (!t) return nullptr ;
249231 return t->get_or_create_fake_stack ();
250232}
251233
252- static FakeStack* GetFakeStackFast (bool for_allocation = true ) {
234+ static FakeStack * GetFakeStackFast () {
253235 if (FakeStack *fs = GetTLSFakeStack ())
254236 return fs;
255237 if (!__asan_option_detect_stack_use_after_return)
256238 return nullptr ;
257- return GetFakeStack (for_allocation );
239+ return GetFakeStack ();
258240}
259241
260242static FakeStack *GetFakeStackFastAlways () {
@@ -329,9 +311,7 @@ extern "C" {
329311// -asan-use-after-return=never, after modal UAR flag lands
330312// (https://github.com/google/sanitizers/issues/1394)
331313SANITIZER_INTERFACE_ATTRIBUTE
332- void * __asan_get_current_fake_stack () {
333- return GetFakeStackFast (/* for_allocation=*/ false );
334- }
314+ void *__asan_get_current_fake_stack () { return GetFakeStackFast (); }
335315
336316SANITIZER_INTERFACE_ATTRIBUTE
337317void *__asan_addr_is_in_fake_stack (void *fake_stack, void *addr, void **beg,
@@ -369,9 +349,4 @@ void __asan_allocas_unpoison(uptr top, uptr bottom) {
369349 (reinterpret_cast <void *>(MemToShadow (top)), 0 ,
370350 (bottom - top) / ASAN_SHADOW_GRANULARITY);
371351}
372-
373- SANITIZER_INTERFACE_ATTRIBUTE
374- void __asan_disable_fake_stack () { return DisableFakeStack (); }
375- SANITIZER_INTERFACE_ATTRIBUTE
376- void __asan_enable_fake_stack () { return EnableFakeStack (); }
377352} // extern "C"
0 commit comments