Go to file
maxv 9ed595918a Revamp the way processes are PaX'ed in the kernel. Sent on tech-kern@ two
months ago, but no one reviewed it - probably because it's not a trivial
change.

This change fixes the following bug: when loading a PaX'ed binary, the
kernel updates the PaX flag of the calling process before it makes sure
the new process is actually launched. If the kernel fails to launch the
new process, it does not restore the PaX flag of the calling process,
leaving it in an inconsistent state.

Actually, simply restoring it would be horrible as well, since in the
meantime another thread may have used the flag.

The solution is therefore: modify all the functions used by PaX so that
they take as argument the exec package instead of the lwp, and set the PaX
flag in the process *right before* launching the new process - it cannot
fail in the meantime.
2015-09-26 16:12:24 +00:00
bin Be explicit about what is negated. 2015-08-28 11:29:48 +00:00
common Fixed typo: propertly -> property. 2015-08-20 15:55:09 +00:00
compat remove the xfree86 reachover makefiles and the vast majority of 2015-07-23 08:03:24 +00:00
crypto merge conflicts 2015-08-21 08:20:59 +00:00
dist/pf Fix obviously broken condition. 2015-08-28 12:17:41 +00:00
distrib try to fix sets 2015-09-26 01:46:14 +00:00
doc new things 2015-09-24 14:37:56 +00:00
etc debug for libproc tests 2015-09-24 16:02:39 +00:00
external Don't link partially with static libraries. 2015-09-26 09:48:27 +00:00
extsrc
games remove cpp abuse 2015-08-17 17:17:01 +00:00
gnu Avoid TYPE_MAXIMUM, it depends on undefined behavior. 2015-09-12 19:05:11 +00:00
include add kinfo_getvmmap() decl 2015-09-24 14:39:37 +00:00
lib args are flipped. 2015-09-25 19:27:31 +00:00
libexec Remove dead assignment; from Henning Petersen in PR 50196. 2015-09-03 08:16:36 +00:00
regress moved to tests/net/in_cksum. 2015-01-05 22:39:29 +00:00
rescue Remove rtsol(8) and rtsold(8) as their functionality is in dhcpcd(8). 2014-09-11 13:10:03 +00:00
sbin add smart IDs 210, 246, 247 and 248 (Micron): 2015-09-21 06:05:00 +00:00
share move GCC 4.8 users to using gcc.old. should be no functional change. 2015-09-25 08:24:20 +00:00
sys Revamp the way processes are PaX'ed in the kernel. Sent on tech-kern@ two 2015-09-26 16:12:24 +00:00
tests Improve test stability 2015-09-15 09:51:01 +00:00
tools Add more compat defs for code compiled for !NetBSD targets. 2015-09-21 21:50:16 +00:00
usr.bin Put -Isys after the ioctl Makefile has a chance to add other paths first. 2015-09-26 13:31:27 +00:00
usr.sbin Fix typo. display.contrast is 0-15, not 0-1. 2015-09-21 08:04:43 +00:00
build.sh Make evbarm64 (little endian) the default for aarch64. 2015-06-27 06:00:28 +00:00
BUILDING remove the xfree86 reachover makefiles and the vast majority of 2015-07-23 08:03:24 +00:00
Makefile remove the xfree86 reachover makefiles and the vast majority of 2015-07-23 08:03:24 +00:00
Makefile.inc
UPDATING add note about the most recent acpica update 2015-09-19 18:31:41 +00:00