summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2014-09-15 17:20:13 +0000
committerjhb <jhb@FreeBSD.org>2014-09-15 17:20:13 +0000
commitbd469e35e2c16df13b7c77d6193bb81ec0f600f6 (patch)
tree93c8cc057b6c3ff7c23527608d6183ae01cc9bbb /lib
parent17021239d9d97ea75b0e7eb686bdccc78175565d (diff)
downloadFreeBSD-src-bd469e35e2c16df13b7c77d6193bb81ec0f600f6.zip
FreeBSD-src-bd469e35e2c16df13b7c77d6193bb81ec0f600f6.tar.gz
Add stricter checking of some mmap() arguments:
- Fail with EINVAL if an invalid protection mask is passed to mmap(). - Fail with EINVAL if an unknown flag is passed to mmap(). - Fail with EINVAL if both MAP_PRIVATE and MAP_SHARED are passed to mmap(). - Require one of either MAP_PRIVATE or MAP_SHARED for non-anonymous mappings. Reviewed by: alc, kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D698
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/sys/mmap.225
1 files changed, 24 insertions, 1 deletions
diff --git a/lib/libc/sys/mmap.2 b/lib/libc/sys/mmap.2
index 3dd8303..4a561ea 100644
--- a/lib/libc/sys/mmap.2
+++ b/lib/libc/sys/mmap.2
@@ -28,7 +28,7 @@
.\" @(#)mmap.2 8.4 (Berkeley) 5/11/95
.\" $FreeBSD$
.\"
-.Dd June 19, 2014
+.Dd September 15, 2014
.Dt MMAP 2
.Os
.Sh NAME
@@ -372,6 +372,29 @@ The
argument
is not a valid open file descriptor.
.It Bq Er EINVAL
+An invalid value was passed in the
+.Fa prot
+argument.
+.It Bq Er EINVAL
+An undefined option was set in the
+.Fa flags
+argument.
+.It Bq Er EINVAL
+Both
+.Dv MAP_PRIVATE
+and
+.Dv MAP_SHARED
+were specified.
+.It Bq Er EINVAL
+None of
+.Dv MAP_ANON ,
+.Dv MAP_PRIVATE ,
+.Dv MAP_SHARED ,
+or
+.Dv MAP_STACK
+was specified.
+At least one of these flags must be included.
+.It Bq Er EINVAL
.Dv MAP_FIXED
was specified and the
.Fa addr
OpenPOWER on IntegriCloud