Skip to content

Commit 888b53d

Browse files
committed
[PR] dtraev/fmayer - call-stack-contains, small refactor of nullptr check
1 parent 17d99d6 commit 888b53d

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed

compiler-rt/lib/rtsan/rtsan_assertions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void ExpectNotRealtime(Context &context, const DiagnosticsInfo &info,
3535
stack.Unwind(info.pc, info.bp, nullptr,
3636
__sanitizer::common_flags()->fast_unwind_on_fatal);
3737

38-
if (IsStackTraceSuppressed(stack))
38+
if (HasSuppressions() && IsStackTraceSuppressed(stack))
3939
return;
4040

4141
OnViolation(stack, info);

compiler-rt/lib/rtsan/rtsan_checks.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
// RTSAN_CHECK(Name, SummaryKind)
1717
// SummaryKind should be a string literal.
1818

19-
RTSAN_CHECK(InCallStack, "in-call-stack")
19+
RTSAN_CHECK(CallStackContains, "call-stack-contains")

compiler-rt/lib/rtsan/rtsan_suppressions.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ static const char *ConvertTypeToFlagName(ErrorType Type) {
5252
UNREACHABLE("unknown ErrorType!");
5353
}
5454

55+
bool __rtsan::HasSuppressions() { return suppression_ctx != nullptr; }
56+
5557
void __rtsan::InitializeSuppressions() {
5658
CHECK_EQ(nullptr, suppression_ctx);
5759

@@ -65,10 +67,10 @@ void __rtsan::InitializeSuppressions() {
6567
}
6668

6769
bool __rtsan::IsStackTraceSuppressed(const StackTrace &stack) {
68-
if (suppression_ctx == nullptr)
69-
return false;
70+
CHECK(HasSuppressions());
7071

71-
const char *call_stack_flag = ConvertTypeToFlagName(ErrorType::InCallStack);
72+
const char *call_stack_flag =
73+
ConvertTypeToFlagName(ErrorType::CallStackContains);
7274
if (!suppression_ctx->HasSuppressionType(call_stack_flag))
7375
return false;
7476

compiler-rt/lib/rtsan/rtsan_suppressions.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
namespace __rtsan {
1818

1919
void InitializeSuppressions();
20+
bool HasSuppressions();
2021
bool IsStackTraceSuppressed(const __sanitizer::StackTrace &stack);
2122

2223
} // namespace __rtsan
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
in-call-stack:MallocViolation
2-
in-call-stack:std::*vector
3-
in-call-stack:free
4-
in-call-stack:BlockFunc
1+
call-stack-contains:MallocViolation
2+
call-stack-contains:std::*vector
3+
call-stack-contains:free
4+
call-stack-contains:BlockFunc

0 commit comments

Comments
 (0)