freebsd-dev/libexec
Konstantin Belousov 9fee0541f2 Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and
phdr locks locked.  This allows to call rtld services from the
callback, which is only reasonable for dlopen(path, RTLD_NOLOAD) to
test existence of the library in the image, and for dlsym().  The
later might still be not quite safe, due to the lazy resolution of
filters.

To allow dropping the locks around iteration in dl_iterate_phdr(3), we
insert markers to track current position between relocks.  The global
objects list is converted to tailq and all iterators skip markers,
globallist_next() and globallist_curr() helpers are added.

Reported and tested by:	davide
Reviewed by:	kan
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
2016-01-20 07:21:33 +00:00
..
atf Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) and 2015-10-12 08:16:03 +00:00
atrun Call /etc/crontab the "system crontab", not "root's crontab". While 2015-06-22 20:24:59 +00:00
bootpd META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
casper META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
comsat Add META_MODE support. 2015-06-13 19:20:56 +00:00
dma META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
fingerd Add META_MODE support. 2015-06-13 19:20:56 +00:00
ftpd Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
getty Add META_MODE support. 2015-06-13 19:20:56 +00:00
hyperv META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
mail.local META MODE: Don't create .meta files when symlinking sources into the obj directory. 2015-11-25 19:44:43 +00:00
mknetid Add META_MODE support. 2015-06-13 19:20:56 +00:00
pppoed Add META_MODE support. 2015-06-13 19:20:56 +00:00
rbootd Add META_MODE support. 2015-06-13 19:20:56 +00:00
revnetgroup Add META_MODE support. 2015-06-13 19:20:56 +00:00
rlogind Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc.rquotad Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc.rstatd Update dependencies after r291406 added libelf to libkvm. 2015-12-01 05:18:48 +00:00
rpc.rusersd Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc.rwalld Add META_MODE support. 2015-06-13 19:20:56 +00:00
rpc.sprayd Add META_MODE support. 2015-06-13 19:20:56 +00:00
rshd Add META_MODE support. 2015-06-13 19:20:56 +00:00
rtld-aout More -Wmissing-variable-declarations fixes. 2012-10-19 14:49:42 +00:00
rtld-elf Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and 2016-01-20 07:21:33 +00:00
save-entropy Add META_MODE support. 2015-06-13 19:20:56 +00:00
smrsh META MODE: Don't create .meta files when symlinking sources into the obj directory. 2015-11-25 19:44:43 +00:00
talkd Don't assign 'ptr' without using it. 2015-08-30 08:38:59 +00:00
tcpd Use LIBEXECDIR for /usr/libexec. 2015-11-26 01:14:40 +00:00
telnetd Add META_MODE support. 2015-06-13 19:20:56 +00:00
tests Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) and 2015-10-12 08:16:03 +00:00
tftp-proxy Add META_MODE support. 2015-06-13 19:20:56 +00:00
tftpd Add META_MODE support. 2015-06-13 19:20:56 +00:00
ulog-helper Add META_MODE support. 2015-06-13 19:20:56 +00:00
ypxfr Staticfy and constify some variables and clean up the code a bit to make it 2015-07-28 02:32:40 +00:00
Makefile Move all the dma(8) components into one single directory 2015-10-09 22:09:44 +00:00
Makefile.amd64 HYPERV isn't available on all architectures, but just on by default 2014-10-16 00:33:06 +00:00
Makefile.i386 HYPERV isn't available on all architectures, but just on by default 2014-10-16 00:33:06 +00:00
Makefile.inc
Makefile.pc98 Add an "empty" Makefile.pc98 because it doesn't need/want HYPERV. It 2014-10-16 14:08:59 +00:00