vs_lookup(mem_obj, vs);
default_pager_total++;
+
+ /* might be unreachable if VS_TRY_LOCK is, by definition, always true */
+ __unreachable_ok_push
if(!VS_TRY_LOCK(vs)) {
/* the call below will not be done by caller when we have */
/* a synchronous interface */
upl_deallocate(upl);
return KERN_SUCCESS;
}
+ __unreachable_ok_pop
if ((vs->vs_seqno != vs->vs_next_seqno++)
|| (vs->vs_readers)
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;
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;
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;
FALSE);
assert(KERN_SUCCESS == kr);
kr = vm_map_copyin(ipc_kernel_map, (vm_map_address_t)addr,
- (vm_map_size_t)size, TRUE, ©);
+ (vm_map_size_t)(actual * sizeof(*pages)), TRUE, ©);
assert(KERN_SUCCESS == kr);