svn commit: r273250 - in head: sys/sys sys/vm usr.bin/truss
John Baldwin
jhb at FreeBSD.org
Sat Oct 18 12:28:52 UTC 2014
Author: jhb
Date: Sat Oct 18 12:28:51 2014
New Revision: 273250
URL: https://svnweb.freebsd.org/changeset/base/273250
Log:
Retire the unimplemented MAP_RENAME and MAP_NORESERVE flags to mmap(2).
Older binaries are still permitted to use these flags.
PR: 193961 (exp-run in ports)
Differential Revision: https://reviews.freebsd.org/D848
Reviewed by: kib
Modified:
head/sys/sys/mman.h
head/sys/sys/param.h
head/sys/vm/vm_mmap.c
head/usr.bin/truss/syscalls.c
Modified: head/sys/sys/mman.h
==============================================================================
--- head/sys/sys/mman.h Sat Oct 18 08:07:17 2014 (r273249)
+++ head/sys/sys/mman.h Sat Oct 18 12:28:51 2014 (r273250)
@@ -69,8 +69,8 @@
#define MAP_FIXED 0x0010 /* map addr must be exactly as requested */
#if __BSD_VISIBLE
-#define MAP_RENAME 0x0020 /* Sun: rename private pages to file */
-#define MAP_NORESERVE 0x0040 /* Sun: don't reserve needed swap area */
+#define MAP_RESERVED0020 0x0020 /* previously unimplemented MAP_RENAME */
+#define MAP_RESERVED0040 0x0040 /* previously unimplemented MAP_NORESERVE */
#define MAP_RESERVED0080 0x0080 /* previously misimplemented MAP_INHERIT */
#define MAP_RESERVED0100 0x0100 /* previously unimplemented MAP_NOEXTEND */
#define MAP_HASSEMAPHORE 0x0200 /* region may contain semaphores */
Modified: head/sys/sys/param.h
==============================================================================
--- head/sys/sys/param.h Sat Oct 18 08:07:17 2014 (r273249)
+++ head/sys/sys/param.h Sat Oct 18 12:28:51 2014 (r273250)
@@ -58,7 +58,7 @@
* in the range 5 to 9.
*/
#undef __FreeBSD_version
-#define __FreeBSD_version 1100038 /* Master, propagated to newvers */
+#define __FreeBSD_version 1100039 /* Master, propagated to newvers */
/*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
@@ -81,6 +81,7 @@
#define P_OSREL_SIGSEGV 700004
#define P_OSREL_MAP_ANON 800104
#define P_OSREL_MAP_FSTRICT 1100036
+#define P_OSREL_MAP_RENAME 1100039
#define P_OSREL_MAJOR(x) ((x) / 100000)
#endif
Modified: head/sys/vm/vm_mmap.c
==============================================================================
--- head/sys/vm/vm_mmap.c Sat Oct 18 08:07:17 2014 (r273249)
+++ head/sys/vm/vm_mmap.c Sat Oct 18 12:28:51 2014 (r273250)
@@ -220,6 +220,12 @@ sys_mmap(td, uap)
fp = NULL;
/*
+ * Ignore old flags that used to be defined but did not do anything.
+ */
+ if (td->td_proc->p_osrel < P_OSREL_MAP_RENAME)
+ flags &= ~(MAP_RESERVED0020 | MAP_RESERVED0040);
+
+ /*
* Enforce the constraints.
* Mapping of length 0 is only allowed for old binaries.
* Anonymous mapping shall specify -1 as filedescriptor and
@@ -244,9 +250,9 @@ sys_mmap(td, uap)
flags |= MAP_ANON;
pos = 0;
}
- if ((flags & ~(MAP_SHARED | MAP_PRIVATE | MAP_FIXED | MAP_RENAME |
- MAP_NORESERVE | MAP_HASSEMAPHORE | MAP_STACK | MAP_NOSYNC |
- MAP_ANON | MAP_EXCL | MAP_NOCORE | MAP_PREFAULT_READ |
+ if ((flags & ~(MAP_SHARED | MAP_PRIVATE | MAP_FIXED | MAP_HASSEMAPHORE |
+ MAP_STACK | MAP_NOSYNC | MAP_ANON | MAP_EXCL | MAP_NOCORE |
+ MAP_PREFAULT_READ |
#ifdef MAP_32BIT
MAP_32BIT |
#endif
Modified: head/usr.bin/truss/syscalls.c
==============================================================================
--- head/usr.bin/truss/syscalls.c Sat Oct 18 08:07:17 2014 (r273249)
+++ head/usr.bin/truss/syscalls.c Sat Oct 18 12:28:51 2014 (r273250)
@@ -312,8 +312,8 @@ static struct xlat poll_flags[] = {
};
static struct xlat mmap_flags[] = {
- X(MAP_SHARED) X(MAP_PRIVATE) X(MAP_FIXED) X(MAP_RENAME)
- X(MAP_NORESERVE) X(MAP_RESERVED0080) X(MAP_RESERVED0100)
+ X(MAP_SHARED) X(MAP_PRIVATE) X(MAP_FIXED) X(MAP_RESERVED0020)
+ X(MAP_RESERVED0040) X(MAP_RESERVED0080) X(MAP_RESERVED0100)
X(MAP_HASSEMAPHORE) X(MAP_STACK) X(MAP_NOSYNC) X(MAP_ANON)
X(MAP_NOCORE) X(MAP_PREFAULT_READ)
#ifdef MAP_32BIT
More information about the svn-src-all
mailing list