bind9/lib/isc
Ondřej Surý 71b0e9e5b7 Lock the trampoline when attaching
When attaching to the trampoline, the isc__trampoline_max was access
unlocked.  This would not manifest under normal circumstances because we
initialize 65 trampolines by default and that's enough for most
commodity hardware, but there are ARM machines with 128+ cores where
this would be reported by ThreadSanitizer.

Add locking around the code in isc__trampoline_attach().  This also
requires the lock to leak on exit (along with memory that we already)
because a new thread might be attaching to the trampoline while we are
running the library destructor at the same time.

(cherry picked from commit 933162ae14)
2022-05-13 13:21:49 +02:00
..
include Add ISC_R_TLSBADPEERCERT error code to the TLS related code 2022-04-28 13:39:21 +03:00
netmgr Add ISC_R_TLSBADPEERCERT error code to the TLS related code 2022-04-28 13:39:21 +03:00
tests Rename shutdown() to test_shutdown() in timer_test.c 2022-04-05 01:56:09 +02:00
.gitignore [master] update gitignore files; use rev-parse to get srcid 2014-06-17 13:49:30 -07:00
aes.c Remove EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free() shims 2022-03-02 10:49:47 +00:00
app.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
assertions.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
astack.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
backtrace.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
base32.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
base64.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
bind9.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
buffer.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
commandline.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
condition.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
counter.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
crc64.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dir.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
entropy.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
entropy_private.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno2result.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno2result.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
error.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
event.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
file.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fsaccess.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fsaccess_common.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fsaccess_common_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
glob.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
hash.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
heap.c Make isc_heap_create() and isc_heap_insert() return void 2022-03-08 20:24:54 +01:00
hex.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
hmac.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ht.c Make isc_ht_init() and isc_ht_iter_create() return void 2022-03-08 20:47:06 +01:00
httpd.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
interfaceiter.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
iterated_hash.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
jemalloc_shim.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
lex.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
lib.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
log.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
Makefile.am Replace netievent lock-free queue with simple locked queue 2022-03-08 09:52:39 +01:00
managers.c Replace netievent lock-free queue with simple locked queue 2022-03-08 09:52:39 +01:00
md.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mem.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
mem_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
meminfo.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutex.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutexblock.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
net.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
netaddr.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
netmgr_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
netscope.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nonce.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
openssl_shim.c Change X509_STORE_up_ref() shim return value 2022-04-28 13:39:22 +03:00
openssl_shim.h Implement shim for SSL_CTX_set1_cert_store() (affects Debian 9) 2022-04-28 13:39:22 +03:00
os.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
os_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
parseint.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
pool.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
portset.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
quota.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
radix.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
random.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
ratelimiter.c Add FALLTHROUGH macro for __attribute__((fallthrough)) 2022-03-25 08:41:09 +01:00
regex.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
region.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
resource.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
result.c Add ISC_R_TLSBADPEERCERT error code to the TLS related code 2022-04-28 13:39:21 +03:00
rwlock.c Consistenly use UNREACHABLE() instead of ISC_UNREACHABLE() 2022-03-28 23:27:33 +02:00
safe.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
serial.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
siphash.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
sockaddr.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
stats.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stdio.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stdtime.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
string.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
symtab.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
syslog.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
task.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
task_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
taskpool.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
thread.c Remove unused functions from isc_thread API 2022-02-09 17:41:34 +01:00
time.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
timer.c Make isc_heap_create() and isc_heap_insert() return void 2022-03-08 20:24:54 +01:00
timer_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tls.c Implement shim for SSL_CTX_set1_cert_store() (affects Debian 9) 2022-04-28 13:39:22 +03:00
tls_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tm.c Add FALLTHROUGH macro for __attribute__((fallthrough)) 2022-03-25 08:41:09 +01:00
trampoline.c Lock the trampoline when attaching 2022-05-13 13:21:49 +02:00
trampoline_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
url.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
utf8.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00