summaryrefslogtreecommitdiffstats
path: root/util/system/sanitizers.cpp
diff options
context:
space:
mode:
authorAnton Samokhvalov <[email protected]>2022-02-10 16:45:15 +0300
committerDaniil Cherednik <[email protected]>2022-02-10 16:45:15 +0300
commit72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch)
treeda2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /util/system/sanitizers.cpp
parent778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff)
Restoring authorship annotation for Anton Samokhvalov <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'util/system/sanitizers.cpp')
-rw-r--r--util/system/sanitizers.cpp152
1 files changed, 76 insertions, 76 deletions
diff --git a/util/system/sanitizers.cpp b/util/system/sanitizers.cpp
index bb799a9e2e7..f972e649bff 100644
--- a/util/system/sanitizers.cpp
+++ b/util/system/sanitizers.cpp
@@ -1,76 +1,76 @@
#include "sanitizers.h"
-#include "thread.h"
-
-#if defined(_asan_enabled_)
-extern "C" {
- void __sanitizer_start_switch_fiber(void** fake_stack_save, const void* bottom, size_t size);
- void __sanitizer_finish_switch_fiber(void* fake_stack_save, const void** old_bottom, size_t* old_size);
-}
-#endif
-
+#include "thread.h"
+
+#if defined(_asan_enabled_)
+extern "C" {
+ void __sanitizer_start_switch_fiber(void** fake_stack_save, const void* bottom, size_t size);
+ void __sanitizer_finish_switch_fiber(void* fake_stack_save, const void** old_bottom, size_t* old_size);
+}
+#endif
+
#if defined(_tsan_enabled_)
- #if defined(__clang_major__) && (__clang_major__ >= 9)
+ #if defined(__clang_major__) && (__clang_major__ >= 9)
extern "C" {
- void* __tsan_get_current_fiber(void);
- void* __tsan_create_fiber(unsigned flags);
- void __tsan_destroy_fiber(void* fiber);
- void __tsan_switch_to_fiber(void* fiber, unsigned flags);
- void __tsan_set_fiber_name(void* fiber, const char* name);
+ void* __tsan_get_current_fiber(void);
+ void* __tsan_create_fiber(unsigned flags);
+ void __tsan_destroy_fiber(void* fiber);
+ void __tsan_switch_to_fiber(void* fiber, unsigned flags);
+ void __tsan_set_fiber_name(void* fiber, const char* name);
}
- #else
+ #else
namespace {
- void* __tsan_get_current_fiber(void) {
- return nullptr;
- }
- void* __tsan_create_fiber(unsigned) {
- return nullptr;
- }
- void __tsan_destroy_fiber(void*) {
- }
- void __tsan_switch_to_fiber(void*, unsigned) {
- }
- void __tsan_set_fiber_name(void*, const char*) {
- }
+ void* __tsan_get_current_fiber(void) {
+ return nullptr;
+ }
+ void* __tsan_create_fiber(unsigned) {
+ return nullptr;
+ }
+ void __tsan_destroy_fiber(void*) {
+ }
+ void __tsan_switch_to_fiber(void*, unsigned) {
+ }
+ void __tsan_set_fiber_name(void*, const char*) {
+ }
}
- #endif
+ #endif
#endif
-using namespace NSan;
-
-TFiberContext::TFiberContext() noexcept
- : Token_(nullptr)
+using namespace NSan;
+
+TFiberContext::TFiberContext() noexcept
+ : Token_(nullptr)
, IsMainFiber_(true)
#if defined(_tsan_enabled_)
, CurrentTSanFiberContext_(__tsan_get_current_fiber())
#endif
-{
- TCurrentThreadLimits sl;
-
- Stack_ = sl.StackBegin;
- Len_ = sl.StackLength;
+{
+ TCurrentThreadLimits sl;
+
+ Stack_ = sl.StackBegin;
+ Len_ = sl.StackLength;
#if defined(_tsan_enabled_)
static constexpr char MainFiberName[] = "main_fiber";
__tsan_set_fiber_name(CurrentTSanFiberContext_, MainFiberName);
#endif
-}
-
+}
+
TFiberContext::TFiberContext(const void* stack, size_t len, const char* contName) noexcept
- : Token_(nullptr)
- , Stack_(stack)
- , Len_(len)
+ : Token_(nullptr)
+ , Stack_(stack)
+ , Len_(len)
, IsMainFiber_(false)
#if defined(_tsan_enabled_)
- , CurrentTSanFiberContext_(__tsan_create_fiber(/*flags =*/0))
+ , CurrentTSanFiberContext_(__tsan_create_fiber(/*flags =*/0))
#endif
-{
+{
(void)contName;
#if defined(_tsan_enabled_)
__tsan_set_fiber_name(CurrentTSanFiberContext_, contName);
#endif
-}
-
-TFiberContext::~TFiberContext() noexcept {
+}
+
+TFiberContext::~TFiberContext() noexcept {
if (!IsMainFiber_) {
#if defined(_asan_enabled_)
if (Token_) {
@@ -88,35 +88,35 @@ TFiberContext::~TFiberContext() noexcept {
__tsan_destroy_fiber(CurrentTSanFiberContext_);
#endif
}
-}
-
-void TFiberContext::BeforeFinish() noexcept {
-#if defined(_asan_enabled_)
- __sanitizer_start_switch_fiber(nullptr, nullptr, 0);
-#else
- (void)Token_;
- (void)Stack_;
- (void)Len_;
-#endif
-}
-
+}
+
+void TFiberContext::BeforeFinish() noexcept {
+#if defined(_asan_enabled_)
+ __sanitizer_start_switch_fiber(nullptr, nullptr, 0);
+#else
+ (void)Token_;
+ (void)Stack_;
+ (void)Len_;
+#endif
+}
+
void TFiberContext::BeforeSwitch(TFiberContext* old) noexcept {
-#if defined(_asan_enabled_)
- __sanitizer_start_switch_fiber(old ? &old->Token_ : nullptr, (char*)Stack_, Len_);
+#if defined(_asan_enabled_)
+ __sanitizer_start_switch_fiber(old ? &old->Token_ : nullptr, (char*)Stack_, Len_);
#else
(void)old;
-#endif
+#endif
#if defined(_tsan_enabled_)
- __tsan_switch_to_fiber(CurrentTSanFiberContext_, /*flags =*/0);
+ __tsan_switch_to_fiber(CurrentTSanFiberContext_, /*flags =*/0);
#endif
-}
-
-void TFiberContext::AfterSwitch() noexcept {
-#if defined(_asan_enabled_)
+}
+
+void TFiberContext::AfterSwitch() noexcept {
+#if defined(_asan_enabled_)
__sanitizer_finish_switch_fiber(Token_, nullptr, nullptr);
-#endif
-}
+#endif
+}
void TFiberContext::AfterStart() noexcept {
#if defined(_asan_enabled_)
@@ -128,15 +128,15 @@ void TFiberContext::AfterStart() noexcept {
extern "C" {
// This function should not be directly exposed in headers
// due to signature variations among contrib headers.
- void AnnotateBenignRaceSized(const char* file, int line,
- const volatile void* address,
+ void AnnotateBenignRaceSized(const char* file, int line,
+ const volatile void* address,
size_t size,
- const char* description);
+ const char* description);
}
-void NSan::AnnotateBenignRaceSized(const char* file, int line,
- const volatile void* address,
+void NSan::AnnotateBenignRaceSized(const char* file, int line,
+ const volatile void* address,
size_t size,
- const char* description) noexcept {
+ const char* description) noexcept {
::AnnotateBenignRaceSized(file, line, address, size, description);
}
#endif