I didn't use it...duh! Also, require that pos be page-aligned for !MAP_ANON
SCCS-vsn: sys/vm/vm_mmap.c 8.6
*
* from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$
*
*
* from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$
*
- * @(#)vm_mmap.c 8.5 (Berkeley) %G%
+ * @(#)vm_mmap.c 8.6 (Berkeley) %G%
*/
addr = (vm_offset_t) uap->addr;
if (((flags & MAP_FIXED) && (addr & PAGE_MASK)) ||
*/
addr = (vm_offset_t) uap->addr;
if (((flags & MAP_FIXED) && (addr & PAGE_MASK)) ||
+ ((flags & MAP_ANON) == 0 && (pos & PAGE_MASK)) ||
(ssize_t)uap->len < 0 || ((flags & MAP_ANON) && uap->fd != -1))
return (EINVAL);
size = (vm_size_t) round_page(uap->len);
(ssize_t)uap->len < 0 || ((flags & MAP_ANON) && uap->fd != -1))
return (EINVAL);
size = (vm_size_t) round_page(uap->len);
}
}
error = vm_mmap(&p->p_vmspace->vm_map, &addr, size, prot, maxprot,
}
}
error = vm_mmap(&p->p_vmspace->vm_map, &addr, size, prot, maxprot,
- flags, handle, (vm_offset_t)uap->pos);
if (error == 0)
*retval = (int)addr;
return (error);
if (error == 0)
*retval = (int)addr;
return (error);