summaryrefslogtreecommitdiff
path: root/usermux/mux.c
diff options
context:
space:
mode:
Diffstat (limited to 'usermux/mux.c')
-rw-r--r--usermux/mux.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usermux/mux.c b/usermux/mux.c
index 9c75eac5..92fd6292 100644
--- a/usermux/mux.c
+++ b/usermux/mux.c
@@ -101,7 +101,8 @@ get_dirents (struct node *dir,
{
size_t size = (max_data_len == 0 ? DIRENTS_CHUNK_SIZE : max_data_len);
- err = vm_allocate (mach_task_self (), (vm_address_t *) data, size, 1);
+ *data = mmap (0, size, PROT_READ|PROT_WRITE, MAP_ANON, 0, 0);
+ err = (data != (void *) -1) ? errno : 0;
if (! err)
{
@@ -257,7 +258,8 @@ netfs_get_dirents (struct iouser *cred, struct node *dir,
*data_len = bytes_left;
*data_entries = entries_left;
- err = vm_allocate (mach_task_self (), (vm_address_t *)data, bytes_left, 1);
+ *data = mmap (0, bytes_left, PROT_READ|PROT_WRITE, MAP_ANON, 0, 0);
+ err = (*data == (void *) -1) ? errno : 0;
if (! err)
bcopy (cached_data, *data, bytes_left);