Index: lib/libc/sys/mmap.2 =================================================================== --- lib/libc/sys/mmap.2 +++ lib/libc/sys/mmap.2 @@ -28,7 +28,7 @@ .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 .\" $FreeBSD$ .\" -.Dd February 4, 2017 +.Dd June 22, 2017 .Dt MMAP 2 .Os .Sh NAME @@ -199,6 +199,22 @@ .Dv MAP_EXCL is specified, the request will fail if a mapping already exists within the range. +.It Dv MAP_GUARD +Instead of the mapping, create a guard of the specified size. +The guard prevents any other mappings at its address range, +until it is unmapped or another mapping is created there with +the +.Dv MAP_FIXED +flag. +Any memory access to the guarded range results in the +.Dv SIGSEGV +signal delivered to the thread. +.Pp +Guards allow to create reservations in the address space, which +can be replaced by the actual mappings later. +For instance, system uses guards to prevent inadvertent use of grow +areas for auto-expanded stacks created with +.Dv MAP_STACK . .It Dv MAP_HASSEMAPHORE Notify the kernel that the region may contain semaphores and that special handling may be necessary. Index: lib/libc/sys/munmap.2 =================================================================== --- lib/libc/sys/munmap.2 +++ lib/libc/sys/munmap.2 @@ -28,7 +28,7 @@ .\" @(#)munmap.2 8.3 (Berkeley) 5/27/94 .\" $FreeBSD$ .\" -.Dd May 27, 1994 +.Dd June 22, 2017 .Dt MUNMAP 2 .Os .Sh NAME @@ -44,7 +44,7 @@ The .Fn munmap system call -deletes the mappings for the specified address range, +deletes the mappings and guards for the specified address range, and causes further references to addresses within the range to generate invalid memory references. .Sh RETURN VALUES