Date: Sat, 18 Oct 2014 12:28:51 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r273250 - in head: sys/sys sys/vm usr.bin/truss Message-ID: <201410181228.s9ICSpak013706@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410181228.s9ICSpak013706>