summaryrefslogtreecommitdiff
path: root/libpager/pagemap.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpager/pagemap.c')
-rw-r--r--libpager/pagemap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libpager/pagemap.c b/libpager/pagemap.c
index 459f854f..c6d924c7 100644
--- a/libpager/pagemap.c
+++ b/libpager/pagemap.c
@@ -31,7 +31,8 @@ _pager_pagemap_resize (struct pager *p, vm_address_t off)
void *newaddr;
int newsize = round_page (off);
- err = vm_allocate (mach_task_self (), (u_int *)&newaddr, newsize, 1);
+ newaddr = mmap (0, newsize, PROT_READ|PROT_WRITE, MAP_ANON, 0, 0);
+ err = (newaddr == (void *) -1) ? errno : 0;
if (! err)
{
bcopy (p->pagemap, newaddr, p->pagemapsize);