bind9/lib/dns
Mark Andrews 9e584a4511 Pause dbiterator ealier to prevent lock-order-inversion
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
    Cycle in lock order graph: M1 (0x000000000000) => M2 (0x000000000000) => M1

    Mutex M2 acquired here while holding mutex M1 in thread T1:
    #0 pthread_rwlock_rdlock <null>
    #1 isc_rwlock_lock lib/isc/rwlock.c:48:3
    #2 findnodeintree lib/dns/rbtdb.c:2877:2
    #3 findnode lib/dns/rbtdb.c:2941:10
    #4 dns_db_findnode lib/dns/db.c:439:11
    #5 resume_addnsec3chain lib/dns/zone.c:3776:11
    #6 rss_post lib/dns/zone.c:20659:3
    #7 setnsec3param lib/dns/zone.c:20471:3
    #8 dispatch lib/isc/task.c:1152:7
    #9 run lib/isc/task.c:1344:2

    Mutex M1 previously acquired by the same thread here:
    #0 pthread_mutex_lock <null>
    #1 rss_post lib/dns/zone.c:20658:3
    #2 setnsec3param lib/dns/zone.c:20471:3
    #3 dispatch lib/isc/task.c:1152:7
    #4 run lib/isc/task.c:1344:2

    Mutex M1 acquired here while holding mutex M2 in thread T2:
    #0 pthread_mutex_lock <null>
    #1 zone_nsec3chain lib/dns/zone.c:8666:5
    #2 zone_maintenance lib/dns/zone.c:11063:4
    #3 zone_timer lib/dns/zone.c:14098:2
    #4 dispatch lib/isc/task.c:1152:7
    #5 run lib/isc/task.c:1344:2

    Mutex M2 previously acquired by the same thread here:
    #0 pthread_rwlock_rdlock <null>
    #1 isc_rwlock_lock lib/isc/rwlock.c:48:3
    #2 resume_iteration lib/dns/rbtdb.c:9357:2
    #3 dbiterator_next lib/dns/rbtdb.c:9647:3
    #4 dns_dbiterator_next lib/dns/dbiterator.c:87:10
    #5 zone_nsec3chain lib/dns/zone.c:8656:13
    #6 zone_maintenance lib/dns/zone.c:11063:4
    #7 zone_timer lib/dns/zone.c:14098:2
    #8 dispatch lib/isc/task.c:1152:7
    #9 run lib/isc/task.c:1344:2
2020-09-17 07:03:56 +00:00
..
include update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdata update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
tests Fix the clang 12 warnings with multi-line strings in string arrays 2020-09-16 11:01:39 +02:00
win32 update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
.gitignore 4394. [func] Add rndc command "dnstap-reopen" to close and 2016-06-24 09:37:04 +10:00
acl.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
adb.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
api Update library API versions 2020-09-16 22:34:06 +02:00
badcache.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
byaddr.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
cache.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
callbacks.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
catz.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
client.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
clientinfo.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
compress.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
db.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dbiterator.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dbtable.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
diff.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dispatch.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dlz.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dns64.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dnsrps.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dnssec.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dnstap.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dnstap.proto fix spelling errors reported by Fossies. 2020-02-21 15:05:08 +11:00
ds.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dst_api.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dst_internal.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dst_openssl.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dst_parse.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dst_parse.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dst_pkcs11.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dst_result.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dyndb.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ecs.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
fixedname.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
forward.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
gen-unix.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
gen-win32.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
gen.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
geoip2.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
gssapi_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
gssapictx.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hmac_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ipkeylist.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
iptable.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
journal.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
kasp.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
key.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
keydata.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
keymgr.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
keytable.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
lib.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
log.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
lookup.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
Makefile.am Fix "make dist" 2020-06-05 13:19:49 +02:00
master.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
masterdump.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
message.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
name.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ncache.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
nsec.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
nsec3.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
nta.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
openssl_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
openssldh_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
opensslecdsa_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
openssleddsa_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
opensslrsa_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
order.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
peer.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pkcs11.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pkcs11ecdsa_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pkcs11eddsa_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pkcs11rsa_link.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
portlist.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
private.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rbt.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rbtdb.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rbtdb.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rcode.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdata.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdatalist.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdatalist_p.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdataset.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdatasetiter.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rdataslab.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
request.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
resolver.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
result.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rootns.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rpz.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rriterator.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rrl.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
sdb.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
sdlz.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
soa.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ssu.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ssu_external.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
stats.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
tcpmsg.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
time.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
timer.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
tkey.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
tsec.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
tsig.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
tsig_p.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ttl.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
update.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
validator.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
view.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
xfrin.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
zone.c Pause dbiterator ealier to prevent lock-order-inversion 2020-09-17 07:03:56 +00:00
zone_p.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
zonekey.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
zoneverify.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
zt.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00