[compiler-rt] 957af73 - [sanitizer] Add CHECKs to validate calculated TLS range (#107941)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 10 15:07:17 PDT 2024
Author: Vitaly Buka
Date: 2024-09-10T15:07:13-07:00
New Revision: 957af7373881e62eec34ca87106fa2a2c2391d8e
URL: https://github.com/llvm/llvm-project/commit/957af7373881e62eec34ca87106fa2a2c2391d8e
DIFF: https://github.com/llvm/llvm-project/commit/957af7373881e62eec34ca87106fa2a2c2391d8e.diff
LOG: [sanitizer] Add CHECKs to validate calculated TLS range (#107941)
Added:
Modified:
compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
index 666e6f3b351067..a1107ff7d24737 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
@@ -151,6 +151,10 @@ DTLS::DTV *DTLS_on_tls_get_addr(void *arg_void, void *res,
// This may happen inside the DTOR of main thread, so just ignore it.
tls_size = 0;
}
+ if (tls_size) {
+ CHECK_LE(tls_beg, reinterpret_cast<uptr>(res));
+ CHECK_LT(reinterpret_cast<uptr>(res), tls_beg + tls_size);
+ }
dtv->beg = tls_beg;
dtv->size = tls_size;
return dtv;
More information about the llvm-commits
mailing list