From: Vitaly Buka Date: Thu, 18 May 2023 07:53:53 +0000 (-0700) Subject: [NFC][HWASAN] Fix pthread_attr_getdetachstate use X-Git-Tag: upstream/17.0.6~8042 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c16fa77c35fb2eac82feaf6320e869f1a82cc184;p=platform%2Fupstream%2Fllvm.git [NFC][HWASAN] Fix pthread_attr_getdetachstate use Luckely of Linux PTHREAD_CREATE_DETACHED is 1. --- diff --git a/compiler-rt/lib/hwasan/hwasan_interceptors.cpp b/compiler-rt/lib/hwasan/hwasan_interceptors.cpp index f87e6a2..443bfe8 100644 --- a/compiler-rt/lib/hwasan/hwasan_interceptors.cpp +++ b/compiler-rt/lib/hwasan/hwasan_interceptors.cpp @@ -68,9 +68,10 @@ INTERCEPTOR(int, pthread_create, void *thread, void *attr, void *(*callback)(void *), void *param) { EnsureMainThreadIDIsCorrect(); ScopedTaggingDisabler tagging_disabler; - int detached = 0; - if (attr) - pthread_attr_getdetachstate(attr, &detached); + bool detached = [attr]() { + int d = 0; + return attr && !pthread_attr_getdetachstate(attr, &d) && IsStateDetached(d); + }(); ThreadStartArg *A = (ThreadStartArg *)InternalAlloc(sizeof(ThreadStartArg)); ScopedBlockSignals block(&A->starting_sigset_); // ASAN uses the same approach to disable leaks from pthread_create.