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
This commit is contained in:
parent
5c0a54a380
commit
5817298f31
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=273250
@ -69,8 +69,8 @@
|
|||||||
#define MAP_FIXED 0x0010 /* map addr must be exactly as requested */
|
#define MAP_FIXED 0x0010 /* map addr must be exactly as requested */
|
||||||
|
|
||||||
#if __BSD_VISIBLE
|
#if __BSD_VISIBLE
|
||||||
#define MAP_RENAME 0x0020 /* Sun: rename private pages to file */
|
#define MAP_RESERVED0020 0x0020 /* previously unimplemented MAP_RENAME */
|
||||||
#define MAP_NORESERVE 0x0040 /* Sun: don't reserve needed swap area */
|
#define MAP_RESERVED0040 0x0040 /* previously unimplemented MAP_NORESERVE */
|
||||||
#define MAP_RESERVED0080 0x0080 /* previously misimplemented MAP_INHERIT */
|
#define MAP_RESERVED0080 0x0080 /* previously misimplemented MAP_INHERIT */
|
||||||
#define MAP_RESERVED0100 0x0100 /* previously unimplemented MAP_NOEXTEND */
|
#define MAP_RESERVED0100 0x0100 /* previously unimplemented MAP_NOEXTEND */
|
||||||
#define MAP_HASSEMAPHORE 0x0200 /* region may contain semaphores */
|
#define MAP_HASSEMAPHORE 0x0200 /* region may contain semaphores */
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
* in the range 5 to 9.
|
* in the range 5 to 9.
|
||||||
*/
|
*/
|
||||||
#undef __FreeBSD_version
|
#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,
|
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
|
||||||
@ -81,6 +81,7 @@
|
|||||||
#define P_OSREL_SIGSEGV 700004
|
#define P_OSREL_SIGSEGV 700004
|
||||||
#define P_OSREL_MAP_ANON 800104
|
#define P_OSREL_MAP_ANON 800104
|
||||||
#define P_OSREL_MAP_FSTRICT 1100036
|
#define P_OSREL_MAP_FSTRICT 1100036
|
||||||
|
#define P_OSREL_MAP_RENAME 1100039
|
||||||
|
|
||||||
#define P_OSREL_MAJOR(x) ((x) / 100000)
|
#define P_OSREL_MAJOR(x) ((x) / 100000)
|
||||||
#endif
|
#endif
|
||||||
|
@ -219,6 +219,12 @@ sys_mmap(td, uap)
|
|||||||
|
|
||||||
fp = NULL;
|
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.
|
* Enforce the constraints.
|
||||||
* Mapping of length 0 is only allowed for old binaries.
|
* Mapping of length 0 is only allowed for old binaries.
|
||||||
@ -244,9 +250,9 @@ sys_mmap(td, uap)
|
|||||||
flags |= MAP_ANON;
|
flags |= MAP_ANON;
|
||||||
pos = 0;
|
pos = 0;
|
||||||
}
|
}
|
||||||
if ((flags & ~(MAP_SHARED | MAP_PRIVATE | MAP_FIXED | MAP_RENAME |
|
if ((flags & ~(MAP_SHARED | MAP_PRIVATE | MAP_FIXED | MAP_HASSEMAPHORE |
|
||||||
MAP_NORESERVE | MAP_HASSEMAPHORE | MAP_STACK | MAP_NOSYNC |
|
MAP_STACK | MAP_NOSYNC | MAP_ANON | MAP_EXCL | MAP_NOCORE |
|
||||||
MAP_ANON | MAP_EXCL | MAP_NOCORE | MAP_PREFAULT_READ |
|
MAP_PREFAULT_READ |
|
||||||
#ifdef MAP_32BIT
|
#ifdef MAP_32BIT
|
||||||
MAP_32BIT |
|
MAP_32BIT |
|
||||||
#endif
|
#endif
|
||||||
|
@ -312,8 +312,8 @@ static struct xlat poll_flags[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct xlat mmap_flags[] = {
|
static struct xlat mmap_flags[] = {
|
||||||
X(MAP_SHARED) X(MAP_PRIVATE) X(MAP_FIXED) X(MAP_RENAME)
|
X(MAP_SHARED) X(MAP_PRIVATE) X(MAP_FIXED) X(MAP_RESERVED0020)
|
||||||
X(MAP_NORESERVE) X(MAP_RESERVED0080) X(MAP_RESERVED0100)
|
X(MAP_RESERVED0040) X(MAP_RESERVED0080) X(MAP_RESERVED0100)
|
||||||
X(MAP_HASSEMAPHORE) X(MAP_STACK) X(MAP_NOSYNC) X(MAP_ANON)
|
X(MAP_HASSEMAPHORE) X(MAP_STACK) X(MAP_NOSYNC) X(MAP_ANON)
|
||||||
X(MAP_NOCORE) X(MAP_PREFAULT_READ)
|
X(MAP_NOCORE) X(MAP_PREFAULT_READ)
|
||||||
#ifdef MAP_32BIT
|
#ifdef MAP_32BIT
|
||||||
|
Loading…
Reference in New Issue
Block a user