Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_map.c
Show First 20 Lines • Show All 4,103 Lines • ▼ Show 20 Lines | if (error != 0) { | ||||
sx_xunlock(&old_map->lock); | sx_xunlock(&old_map->lock); | ||||
sx_xunlock(&new_map->lock); | sx_xunlock(&new_map->lock); | ||||
vm_map_process_deferred(); | vm_map_process_deferred(); | ||||
vmspace_free(vm2); | vmspace_free(vm2); | ||||
return (NULL); | return (NULL); | ||||
} | } | ||||
new_map->anon_loc = old_map->anon_loc; | new_map->anon_loc = old_map->anon_loc; | ||||
new_map->flags |= old_map->flags & (MAP_ASLR | MAP_ASLR_IGNSTART); | |||||
VM_MAP_ENTRY_FOREACH(old_entry, old_map) { | VM_MAP_ENTRY_FOREACH(old_entry, old_map) { | ||||
if ((old_entry->eflags & MAP_ENTRY_IS_SUB_MAP) != 0) | if ((old_entry->eflags & MAP_ENTRY_IS_SUB_MAP) != 0) | ||||
panic("vm_map_fork: encountered a submap"); | panic("vm_map_fork: encountered a submap"); | ||||
inh = old_entry->inheritance; | inh = old_entry->inheritance; | ||||
if ((old_entry->eflags & MAP_ENTRY_GUARD) != 0 && | if ((old_entry->eflags & MAP_ENTRY_GUARD) != 0 && | ||||
inh != VM_INHERIT_NONE) | inh != VM_INHERIT_NONE) | ||||
▲ Show 20 Lines • Show All 1,072 Lines • Show Last 20 Lines |