svn commit: r195693 - in head: lib/libc/sys sys/vm
John Baldwin
jhb at FreeBSD.org
Tue Jul 14 19:45:37 UTC 2009
Author: jhb
Date: Tue Jul 14 19:45:36 2009
New Revision: 195693
URL: http://svn.freebsd.org/changeset/base/195693
Log:
- Change mmap() to fail requests with EINVAL that pass a length of 0. This
behavior is mandated by POSIX.
- Do not fail requests that pass a length greater than SSIZE_MAX
(such as > 2GB on 32-bit platforms). The 'len' parameter is actually
an unsigned 'size_t' so negative values don't really make sense.
Submitted by: Alexander Best alexbestms at math.uni-muenster.de
Reviewed by: alc
Approved by: re (kib)
MFC after: 1 week
Modified:
head/lib/libc/sys/mmap.2
head/sys/vm/vm_mmap.c
Modified: head/lib/libc/sys/mmap.2
==============================================================================
--- head/lib/libc/sys/mmap.2 Tue Jul 14 19:37:53 2009 (r195692)
+++ head/lib/libc/sys/mmap.2 Tue Jul 14 19:45:36 2009 (r195693)
@@ -28,7 +28,7 @@
.\" @(#)mmap.2 8.4 (Berkeley) 5/11/95
.\" $FreeBSD$
.\"
-.Dd October 24, 2008
+.Dd July 14, 2009
.Dt MMAP 2
.Os
.Sh NAME
@@ -306,7 +306,7 @@ resides out of the valid address space f
The
.Fa len
argument
-was negative.
+was equal to zero.
.It Bq Er EINVAL
.Dv MAP_ANON
was specified and the
Modified: head/sys/vm/vm_mmap.c
==============================================================================
--- head/sys/vm/vm_mmap.c Tue Jul 14 19:37:53 2009 (r195692)
+++ head/sys/vm/vm_mmap.c Tue Jul 14 19:45:36 2009 (r195693)
@@ -229,7 +229,7 @@ mmap(td, uap)
fp = NULL;
/* make sure mapping fits into numeric range etc */
- if ((ssize_t) uap->len < 0 ||
+ if (uap->len == 0 ||
((flags & MAP_ANON) && uap->fd != -1))
return (EINVAL);
More information about the svn-src-head
mailing list