diff options
author | kib <kib@FreeBSD.org> | 2014-06-26 08:30:08 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2014-06-26 08:30:08 +0000 |
commit | 15d33955d24d5a4bf051e41cff28951c6c2a54f2 (patch) | |
tree | 2c593f33e1723fee9862fe84487989f08054fd73 /sys/vm/vm_mmap.c | |
parent | b371ec04aaeccdccafd21a04b949901c090e50cb (diff) | |
download | FreeBSD-src-15d33955d24d5a4bf051e41cff28951c6c2a54f2.zip FreeBSD-src-15d33955d24d5a4bf051e41cff28951c6c2a54f2.tar.gz |
MFC r267630:
Add MAP_EXCL flag for mmap(2).
Diffstat (limited to 'sys/vm/vm_mmap.c')
-rw-r--r-- | sys/vm/vm_mmap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 6edf560..72dea74 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -245,6 +245,8 @@ sys_mmap(td, uap) flags |= MAP_ANON; pos = 0; } + if ((flags & (MAP_EXCL | MAP_FIXED)) == MAP_EXCL) + return (EINVAL); /* * Align the file position to a page boundary, @@ -1626,6 +1628,8 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, return (EINVAL); docow |= MAP_STACK_GROWS_DOWN; } + if ((flags & MAP_EXCL) != 0) + docow |= MAP_CHECK_EXCL; if (fitit) { if ((flags & MAP_ALIGNMENT_MASK) == MAP_ALIGNED_SUPER) |