diff options
Diffstat (limited to 'sys/vm/vm_mmap.c')
| -rw-r--r-- | sys/vm/vm_mmap.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index ba36e41fc6327..6ea214a735268 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -38,7 +38,7 @@ * from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$ * * @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94 - * $Id: vm_mmap.c,v 1.85 1998/12/09 20:22:21 dt Exp $ + * $Id: vm_mmap.c,v 1.83 1998/09/04 08:06:57 dfr Exp $ */ /* @@ -173,19 +173,11 @@ mmap(p, uap) pos = uap->pos; /* make sure mapping fits into numeric range etc */ - if ((ssize_t) uap->len < 0 || + if ((pos + size > (vm_offset_t)-PAGE_SIZE) || + (ssize_t) uap->len < 0 || ((flags & MAP_ANON) && uap->fd != -1)) return (EINVAL); -#ifdef VM_STACK - if (flags & MAP_STACK) { - if ((uap->fd != -1) || - ((prot & (PROT_READ | PROT_WRITE)) != (PROT_READ | PROT_WRITE))) - return (EINVAL); - flags |= MAP_ANON; - pos = 0; - } -#endif /* * Align the file position to a page boundary, * and save its page offset component. @@ -1025,12 +1017,6 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, *addr = pmap_addr_hint(object, *addr, size); } -#ifdef VM_STACK - if (flags & MAP_STACK) - rv = vm_map_stack (map, *addr, size, prot, - maxprot, docow); - else -#endif rv = vm_map_find(map, object, foff, addr, size, fitit, prot, maxprot, docow); |
