diff options
author | Vitaly Buka <vitalybuka@google.com> | 2023-05-08 15:24:33 -0700 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2023-05-08 16:33:30 -0700 |
commit | 6fe46219631fda60e2dc25ca285f30957ba6d3c7 (patch) | |
tree | 9a25b92a39d7a358a99507d7e973dfc543de09cd /compiler-rt | |
parent | 15593613769f767e78310b08e57b0a93dda6643e (diff) | |
download | llvm-6fe46219631fda60e2dc25ca285f30957ba6d3c7.tar.gz |
[NFC][HWASAN] Use InternalAlloc for ThreadStartArg
Diffstat (limited to 'compiler-rt')
-rw-r--r-- | compiler-rt/lib/hwasan/hwasan_interceptors.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler-rt/lib/hwasan/hwasan_interceptors.cpp b/compiler-rt/lib/hwasan/hwasan_interceptors.cpp index 3854ad62f41a..096bfe5b1864 100644 --- a/compiler-rt/lib/hwasan/hwasan_interceptors.cpp +++ b/compiler-rt/lib/hwasan/hwasan_interceptors.cpp @@ -53,7 +53,7 @@ static void *HwasanThreadStartFunc(void *arg) { __hwasan_thread_enter(); ThreadStartArg A = *reinterpret_cast<ThreadStartArg *>(arg); SetSigProcMask(&A.starting_sigset_, nullptr); - UnmapOrDie(arg, GetPageSizeCached()); + InternalFree(arg); return A.callback(A.param); } @@ -61,8 +61,7 @@ INTERCEPTOR(int, pthread_create, void *th, void *attr, void *(*callback)(void *), void *param) { EnsureMainThreadIDIsCorrect(); ScopedTaggingDisabler tagging_disabler; - ThreadStartArg *A = reinterpret_cast<ThreadStartArg *>( - MmapOrDie(GetPageSizeCached(), "pthread_create")); + ThreadStartArg *A = (ThreadStartArg *)InternalAlloc(sizeof(ThreadStartArg)); A->callback = callback; A->param = param; ScopedBlockSignals block(&A->starting_sigset_); @@ -70,7 +69,10 @@ INTERCEPTOR(int, pthread_create, void *th, void *attr, # if CAN_SANITIZE_LEAKS __lsan::ScopedInterceptorDisabler lsan_disabler; # endif - return REAL(pthread_create)(th, attr, &HwasanThreadStartFunc, A); + int result = REAL(pthread_create)(th, attr, &HwasanThreadStartFunc, A); + if (result != 0) + InternalFree(A); + return result; } INTERCEPTOR(int, pthread_join, void *t, void **arg) { |