glibc/nss
Torvald Riegel 6f9d4f595e Fix incorrect double-checked locking related to _res_hconf.initialized.
_res_hconf.initialized was not suitable for use in a multi-threaded
environment due to the lack of atomics and memory barriers.  Use of it was
also unnecessary because _res_hconf_init did the right thing by using
__libc_once.  This patch fixes the glibc-internal uses by just calling
_res_hconf_init unconditionally, and switches to a release MO atomic store
for _res_hconf.initialized to fix the glibc side of the synchronization
problem (which will maintain backward compatibility, but cannot fix the
lack of acquire MO on any glibc-external loads).

	[BZ #20477]
	* resolv/res_hconf.c (do_init): Use atomic access.
	* resolv/res_hconf.h: Add comments.
	* nscd/aicache.c (addhstaiX): Call _res_hconf_init unconditionally.
	* nss/getXXbyYY_r.c (REENTRANT_NAME): Likewise.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
2016-08-18 20:53:37 +02:00
..
nss_db nss_db: Fix initialization of iteration position [BZ #20237] 2016-06-11 12:12:56 +02:00
nss_files Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
alias-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
bug17079.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
bug-erange.c
databases.def Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
db-Makefile Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Depend
digits_dots.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ethers-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
function.def Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getent.c Update copyright dates not handled by scripts/update-copyrights. 2016-01-04 16:26:30 +00:00
getnssent_r.c NSS: Implement group merging support. 2016-04-29 22:18:21 -04:00
getnssent.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getXXbyYY_r.c Fix incorrect double-checked locking related to _res_hconf.initialized. 2016-08-18 20:53:37 +02:00
getXXbyYY.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getXXent_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getXXent.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
grp-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
hosts-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
key-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
makedb.c Update copyright dates not handled by scripts/update-copyrights. 2016-01-04 16:26:30 +00:00
Makefile Register extra test objects 2016-04-13 17:07:13 +02:00
netgrp-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
network-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nss_test1.c
nss.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nsswitch.c NSS: Implement group merging support. 2016-04-29 22:18:21 -04:00
nsswitch.conf
nsswitch.h NSS: Implement group merging support. 2016-04-29 22:18:21 -04:00
proto-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pwd-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
rewrite_field.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
rpc-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
service-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sgrp-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
spwd-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-digits-dots.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
test-netdb.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-field.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-nss-getpwent.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-nss-static.c
tst-nss-test1.c
valid_field.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
valid_list_field.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Versions
XXX-lookup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00