]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/default_pager/dp_memory_object.c
xnu-3248.50.21.tar.gz
[apple/xnu.git] / osfmk / default_pager / dp_memory_object.c
index 3ffa10e447a17a31aa5a3fb06cc7ddaa09136469..0c44bb801ce8739f23e0b549cef69298d5c11990 100644 (file)
@@ -988,7 +988,7 @@ default_pager_objects(
        osize = vm_map_round_page(actual * sizeof (*objects),
                                  vm_map_page_mask(ipc_kernel_map));
        opotential = (unsigned int) (osize / sizeof (*objects));
-       kr = kmem_alloc(ipc_kernel_map, &oaddr, osize);
+       kr = kmem_alloc(ipc_kernel_map, &oaddr, osize, VM_KERN_MEMORY_IPC);
        if (KERN_SUCCESS != kr) {
                kfree(pagers, psize);
                return KERN_RESOURCE_SHORTAGE;
@@ -1080,7 +1080,7 @@ default_pager_objects(
                           FALSE);
        assert(KERN_SUCCESS == kr);
        kr = vm_map_copyin(ipc_kernel_map, (vm_map_address_t)oaddr,
-                          (vm_map_size_t)osize, TRUE, &pcopy);
+                          (vm_map_size_t)(num_objects * sizeof(*objects)), TRUE, &pcopy);
        assert(KERN_SUCCESS == kr);
 
        *objectsp = (default_pager_object_array_t)objects;
@@ -1161,7 +1161,7 @@ default_pager_object_pages(
 
                size = vm_map_round_page(actual * sizeof (*pages),
                                         vm_map_page_mask(ipc_kernel_map));
-               kr = kmem_alloc(ipc_kernel_map, &addr, size);
+               kr = kmem_alloc(ipc_kernel_map, &addr, size, VM_KERN_MEMORY_IPC);
                if (KERN_SUCCESS != kr)
                        return KERN_RESOURCE_SHORTAGE;
 
@@ -1183,7 +1183,7 @@ default_pager_object_pages(
                           FALSE);
        assert(KERN_SUCCESS == kr);
        kr = vm_map_copyin(ipc_kernel_map, (vm_map_address_t)addr,
-                          (vm_map_size_t)size, TRUE, &copy);
+                          (vm_map_size_t)(actual * sizeof(*pages)), TRUE, &copy);
        assert(KERN_SUCCESS == kr);