glibc/nscd
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
..
aicache.c Fix incorrect double-checked locking related to _res_hconf.initialized. 2016-08-18 20:53:37 +02:00
cache.c Remove atomic_compare_and_exchange_bool_rel. 2016-06-24 23:04:40 +03:00
connections.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dbg_log.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dbg_log.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Depend Don't mention linuxthreads in Depend files. 2014-05-21 16:53:11 +00:00
gai.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getgrgid_r.c NSS: Implement group merging support. 2016-04-29 22:18:21 -04:00
getgrnam_r.c NSS: Implement group merging support. 2016-04-29 22:18:21 -04:00
gethstbyad_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gethstbynm3_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getpwnam_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getpwuid_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getsrvbynm_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getsrvbypt_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
grpcache.c Fix nscd assertion failure in gc (bug 19755) 2016-06-09 09:57:40 +02:00
hstcache.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
initgrcache.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mem.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
netgroupcache.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_conf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_getai.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_getgr_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_gethst_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_getpw_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_getserv_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_helper.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_initgroups.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_netgroup.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_proto.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_setup_thread.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd_stat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd-client.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd.c Fix build errors with -DNDEBUG. 2016-01-15 10:44:07 -07:00
nscd.conf
nscd.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
nscd.init
nscd.service
nscd.tmpfiles
pwdcache.c Fix nscd assertion failure in gc (bug 19755) 2016-06-09 09:57:40 +02:00
res_hconf.c
selinux.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
selinux.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
servicescache.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00