freebsd-skq/libexec
Konstantin Belousov e474e51e07 Eliminate the static buffer used to read the first page of the mapped
object, and eliminate the pread(2) call as well [1]. Mmap the first
page of the object temporaly, and unmap it on error or last use.
Potentially, this leaves one-page gap between succeeding dlopen(3),
but there are other mmap(2) consumers as well.

Fix several cases were the whole mapping of the object leaked on error.

Use MAP_PREFAULT_READ for mmap(2) calls which map real object pages [2].

Insipired by the patch by:	Ian Lepore <freebsd damnhippie dyndns org> [1]
Suggested by:	alc [2]
MFC after:	2 weeks
2012-06-14 11:20:22 +00:00
..
atrun Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
bootpd Make sure sections are sorted into conventional order. 2012-03-25 16:00:56 +00:00
comsat Make comsat(8) approximately 15% smaller. 2011-12-10 18:35:26 +00:00
fingerd Forgot to initialize the debug variable. 2010-04-01 13:16:32 +00:00
ftpd Spelling fixes for libexec/ 2012-01-07 16:09:54 +00:00
getty mdoc: terminate quoted strings. 2012-03-26 15:18:14 +00:00
lukemftpd Spelling fixes for libexec/ 2012-01-07 16:09:54 +00:00
mail.local Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to 2012-02-28 18:30:18 +00:00
mknetid Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
pppoed In libexec/pppoed/pppoed.c, use the correct printf length modifier for a 2011-12-16 16:07:39 +00:00
rbootd mdoc: fix .Bl -offset. 2012-05-23 20:22:09 +00:00
revnetgroup Spelling fixes for libexec/ 2012-01-07 16:09:54 +00:00
rlogind Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
rpc.rquotad The NFS quota-reporting RPC uses 32-bit sized fields. We approximate 2010-04-25 00:05:51 +00:00
rpc.rstatd Fixed static linkage. 2010-02-26 09:41:16 +00:00
rpc.rusersd Port all apps in libexec/ from libulog to utmpx. 2010-01-13 18:28:58 +00:00
rpc.rwalld add __unused 2010-12-19 13:05:17 +00:00
rpc.sprayd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rshd None of these programs actually use auth.conf. 2012-06-11 16:18:39 +00:00
rtld-aout Spelling fixes for libexec/ 2012-01-07 16:09:54 +00:00
rtld-elf Eliminate the static buffer used to read the first page of the mapped 2012-06-14 11:20:22 +00:00
save-entropy 1. Attempt to take one bullet out of the foot-shooting gun by silently 2006-08-28 06:41:50 +00:00
smrsh Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to 2012-02-28 18:30:18 +00:00
talkd Remove unneeded use of struct timezone. 2010-08-08 02:45:48 +00:00
tcpd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
telnetd Convert telnetd(8) to use posix_openpt(2). 2008-11-13 19:05:27 +00:00
tftp-proxy Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
tftpd mdoc: Only use macros inside a reference block. 2012-05-23 20:29:16 +00:00
ulog-helper Do a better job at determining the username of the login session. 2012-04-19 21:12:08 +00:00
ypxfr Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor 2012-02-07 09:27:07 +00:00
Makefile Add a new library: libulog. 2009-12-03 15:48:24 +00:00
Makefile.inc Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00