freebsd-skq/sys
kib 34de63e92d Implement address space guards.
Guard, requested by the MAP_GUARD mmap(2) flag, prevents the reuse of
the allocated address space, but does not allow instantiation of the
pages in the range.  It is useful for more explicit support for usual
two-stage reserve then commit allocators, since it prevents accidental
instantiation of the mapping, e.g. by mprotect(2).

Use guards to reimplement stack grow code.  Explicitely track stack
grow area with the guard, including the stack guard page.  On stack
grow, trivial shift of the guard map entry and stack map entry limits
makes the stack expansion.  Move the code to detect stack grow and
call vm_map_growstack(), from vm_fault() into vm_map_lookup().

As result, it is impossible to get random mapping to occur in the
stack grow area, or to overlap the stack guard page.

Enable stack guard page by default.

Reviewed by:	alc, markj
Man page update reviewed by:	alc, bjk, emaste, markj, pho
Tested by:	pho, Qualys
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D11306 (man pages)
2017-06-24 17:01:11 +00:00
..
amd64 Translate between abridged and full x87 tags for compat32 2017-06-24 11:38:31 +00:00
arm Allwinner: Add support for H2 Plus SoC 2017-06-24 16:41:26 +00:00
arm64 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
boot loader.efi: Disable smbios for arm 2017-06-24 09:33:25 +00:00
bsm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
cam Fix a potential sleep while holding a mutex in the sa(4) driver. 2017-06-19 20:48:00 +00:00
cddl fix gcc-specific fallout from r320156, MFV of r318946, ZFS ABD 2017-06-23 08:42:53 +00:00
compat Fix caveat in new implementation of linprocfs_docpuinfo(): 2017-06-23 10:36:27 +00:00
conf Allwinner: Add support for H2 Plus SoC 2017-06-24 16:41:26 +00:00
contrib Avoid including list.h in LinuxKPI headers. 2017-06-18 16:43:57 +00:00
crypto Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
ddb Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
dev jedec_ts: add support for devices manufactured by IDT 2017-06-23 11:55:43 +00:00
fs ext2fs: add dir_nlink feature support. 2017-06-22 02:43:32 +00:00
gdb
geom Add MD_VERIFY option to enable O_VERIFY in open for vnode type. 2017-05-31 21:18:11 +00:00
gnu Update the GNU DTS file from Linux 4.11 2017-06-20 03:13:49 +00:00
i386 Fix indent. 2017-06-24 10:19:06 +00:00
isa Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
kern Fix the !TD_IS_IDLETHREAD(curthread) locking assertions. 2017-06-19 21:09:50 +00:00
kgssapi
libkern arm64: add ".arch armv8-a+crc" to allow use of crc instructions 2017-06-08 20:06:09 +00:00
mips [ar71xx] migrate all of the duplicate configuration out into a shared config file. 2017-06-16 00:44:23 +00:00
modules Allwinner: Add support for H2 Plus SoC 2017-06-24 16:41:26 +00:00
net Revert r319989 "bnxt(4) Enable LRO support" 2017-06-17 17:42:52 +00:00
net80211 net80211: initialize i_seq for A-MPDU frames. 2017-06-01 20:46:43 +00:00
netgraph Check return value from soaccept(). 2017-06-14 16:13:20 +00:00
netinet Handle sctp_get_next_param() in a consistent way. 2017-06-23 21:01:57 +00:00
netinet6 Fix an unnecessary/incorrect check in the PKTOPT_EXTHDRCPY macro. 2017-05-30 14:50:28 +00:00
netipsec Build kdebug_secreplay() function only when IPSEC_DEBUG is defined. 2017-06-01 10:04:12 +00:00
netpfil Fix the queue delay estimation in PIE/FQ-PIE when the timestamp 2017-05-19 08:38:03 +00:00
netsmb
nfs Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfsclient Add an NFSv4.1 mount option for "use one openowner". 2017-04-13 21:54:19 +00:00
nfsserver Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nlm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
ofed Avoid including list.h in LinuxKPI headers. 2017-06-18 16:43:57 +00:00
opencrypto Use const with some read-only buffers in opencrypto APIs. 2017-05-09 18:28:42 +00:00
powerpc Actually add the mpc85xx_get_platform_clock() function. 2017-06-14 04:26:37 +00:00
riscv Undefine temporary macro. 2017-06-17 07:36:46 +00:00
rpc Listening sockets improvements. 2017-06-08 21:30:34 +00:00
security Correct bitwise test in mac_bsdextended ugidfw_rule_valid() 2017-06-13 01:17:58 +00:00
sparc64 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
sys Implement address space guards. 2017-06-24 17:01:11 +00:00
teken Oops, my fix for bright colors broke bright black some more (in cases 2017-03-27 10:48:28 +00:00
tests style(9): sort headers 2017-05-09 05:08:47 +00:00
tools make.conf: Add the possibility to use another DTC 2017-06-17 23:34:53 +00:00
ufs Mitigate several problems with the softdep_request_cleanup() on busy 2017-06-03 16:18:50 +00:00
vm Implement address space guards. 2017-06-24 17:01:11 +00:00
x86 Fix batched unload for DMAR busdma in qi mode. 2017-06-19 21:48:52 +00:00
xdr * limit size of buffers to RPC_MAXDATASIZE 2017-06-01 06:12:25 +00:00
xen xenstore: fix suspension when using the xenstore device 2017-03-07 09:17:48 +00:00
Makefile Remove glimpse make target added in r181432 2017-05-22 15:53:30 +00:00