bind9/lib/isc
Ondřej Surý 8b1e4a5373 Exclude isc_mem_isovermem from ThreadSanitizer
The .is_overmem member of isc_mem_t structure is intentionally accessed
unlocked as 100% accuracy isn't necessary here.

Without the attribute, following TSAN warning would show up:

    WARNING: ThreadSanitizer: data race
      Write of size 1 at 0x000000000001 by thread T1 (mutexes: write M1, write M2):
	#0 isc___mem_put lib/isc/mem.c:1119:19
	#1 isc__mem_put lib/isc/mem.c:2439:2
	#2 dns_rdataslab_fromrdataset lib/dns/rdataslab.c:327:2
	#3 addrdataset lib/dns/rbtdb.c:6761:11
	#4 dns_db_addrdataset lib/dns/db.c:719:10
	#5 cache_name lib/dns/resolver.c:6538:13
	#6 cache_message lib/dns/resolver.c:6628:14
	#7 resquery_response lib/dns/resolver.c:7883:13
	#8 dispatch lib/isc/task.c:1152:7
	#9 run lib/isc/task.c:1344:2

      Previous read of size 1 at 0x000000000001 by thread T2 (mutexes: write M3):
	#0 isc_mem_isovermem lib/isc/mem.c:1553:15
	#1 addrdataset lib/dns/rbtdb.c:6866:25
	#2 dns_db_addrdataset lib/dns/db.c:719:10
	#3 addoptout lib/dns/ncache.c:281:10
	#4 dns_ncache_add lib/dns/ncache.c:101:10
	#5 ncache_adderesult lib/dns/resolver.c:6668:12
	#6 ncache_message lib/dns/resolver.c:6845:11
	#7 rctx_ncache lib/dns/resolver.c:9174:11
	#8 resquery_response lib/dns/resolver.c:7894:2
	#9 dispatch lib/isc/task.c:1152:7
	#10 run lib/isc/task.c:1344:2

      Location is heap block of size 328 at 0x000000000020 allocated by thread T3:
	#0 malloc <null>
	#1 default_memalloc lib/isc/mem.c:713:8
	#2 mem_create lib/isc/mem.c:763:8
	#3 isc_mem_create lib/isc/mem.c:2425:2
	#4 configure_view bin/named/server.c:4494:4
	#5 load_configuration bin/named/server.c:9062:3
	#6 run_server bin/named/server.c:9771:2
	#7 dispatch lib/isc/task.c:1152:7
	#8 run lib/isc/task.c:1344:2

    [...]

    SUMMARY: ThreadSanitizer: data race lib/isc/mem.c:1119:19 in isc___mem_put

(cherry picked from commit 0110d1ab17)
2020-09-17 17:35:58 +02:00
..
include update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
netmgr update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
pthreads update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
tests update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
unix update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
win32 update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
.gitignore [master] update gitignore files; use rev-parse to get srcid 2014-06-17 13:49:30 -07:00
aes.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
api prep 9.16.7 2020-09-16 22:50:38 +02:00
app.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
assertions.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
astack.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
backtrace-emptytbl.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
backtrace.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
base32.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
base64.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
bind9.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
buffer.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
bufferlist.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
commandline.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
counter.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
crc64.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
entropy.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
entropy_private.h update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
error.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
event.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
fsaccess.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
hash.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
heap.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
hex.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
hmac.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
hp.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
ht.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
httpd.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
iterated_hash.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
Kyuafile regen master 2017-12-29 01:44:18 +00:00
lex.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
lfsr.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
lib.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
log.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
Makefile.in Report Extended DNS Error codes 2020-05-13 10:26:39 +10:00
md.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
mem.c Exclude isc_mem_isovermem from ThreadSanitizer 2020-09-17 17:35:58 +02:00
mem_p.h update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
mutexblock.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
netaddr.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
netscope.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
nonce.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
openssl_shim.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
openssl_shim.h update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
parseint.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
pk11.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
pk11_result.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
pool.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
portset.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
queue.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
quota.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
radix.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
random.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
ratelimiter.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
regex.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
region.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
result.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
rwlock.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
safe.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
serial.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
siphash.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
sockaddr.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
stats.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
string.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
symtab.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
task.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
task_p.h update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
taskpool.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
timer.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
timer_p.h update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
tm.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
utf8.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
version.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
xoshiro128starstar.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00