[compiler-rt] [TSan] Destroy ScopedReport on early return in ReportDestroyLocked (PR #228631)
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 3 11:06:12 PDT 2026
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/228631
>From 8aec77939037caa330c0aecd45eae57fcd8e8d84 Mon Sep 17 00:00:00 2001
From: Vitaly Buka <vitalybuka at google.com>
Date: Fri, 2 Oct 2026 18:38:54 -0700
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
=?UTF-8?q?l=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Created using spr 1.3.7
---
compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp b/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
index 30f5e964939d034..7210168af22c3d4 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
@@ -604,8 +604,10 @@ void ReportDestroyLocked(ThreadState *thr, uptr pc, uptr addr,
DynamicMutexSet mset;
uptr tag;
if (!RestoreStack(EventType::kLock, last_lock.sid(), last_lock.epoch(),
- addr, 0, kAccessWrite, &tid, &trace, mset, &tag))
+ addr, 0, kAccessWrite, &tid, &trace, mset, &tag)) {
+ rep->~ScopedReport();
return;
+ }
rep->AddStack(trace, true);
rep->AddLocation(addr, 1);
#if SANITIZER_APPLE
More information about the llvm-commits
mailing list