diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2014-09-17 21:04:50 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2014-09-17 21:04:50 +0000 |
commit | 10204535afded7f13a48badf29bcc1a33dc3c132 (patch) | |
tree | 4d8052f4f0f2e71b3a2577cbdf15c96c60c05eb8 /sys/sys/param.h | |
parent | 7eccb93c02c327b15196ee4fbb3b4f2ac1daa9fa (diff) | |
download | src-10204535afded7f13a48badf29bcc1a33dc3c132.tar.gz src-10204535afded7f13a48badf29bcc1a33dc3c132.zip |
The vm_mmap_cdev() explicitely converts absence of both MAP_SHARED and
MAP_PRIVATE flags to MAP_SHARED. Apparently, some code in tree, in
particular, libgeom, relied on this behaviour, see r271721. For
regular file types, the absence of the flags is interpreted as
MAP_PRIVATE, and libc nlist used this (fixed in r271723).
Allow the implicit flags for legacy binaries. Bump __FreeBSD_version
to get the ABI note on new binaries to check for in mmap code.
Remove the test for presence of one of the MAP_ANON, MAP_SHARED or
MAP_PRIVATE flags before fget_mmap(). For MAP_ANON, we already verify
that passed fd == -1. For fd != -1, test after fget_mmap() (for newer
binaries) covers the case.
Reported by: bdrewery, pho
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
Notes
Notes:
svn path=/head/; revision=271724
Diffstat (limited to 'sys/sys/param.h')
-rw-r--r-- | sys/sys/param.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/sys/param.h b/sys/sys/param.h index e85fcd923668..18d92b270108 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100035 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100036 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, @@ -80,6 +80,7 @@ #define P_OSREL_SIGWAIT 700000 #define P_OSREL_SIGSEGV 700004 #define P_OSREL_MAP_ANON 800104 +#define P_OSREL_MAP_FSTRICT 1100036 #define P_OSREL_MAJOR(x) ((x) / 100000) #endif |