summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_mmap.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-06-26 08:30:08 +0000
committerkib <kib@FreeBSD.org>2014-06-26 08:30:08 +0000
commit15d33955d24d5a4bf051e41cff28951c6c2a54f2 (patch)
tree2c593f33e1723fee9862fe84487989f08054fd73 /sys/vm/vm_mmap.c
parentb371ec04aaeccdccafd21a04b949901c090e50cb (diff)
downloadFreeBSD-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.c4
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)
OpenPOWER on IntegriCloud