Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_exec.c
Show First 20 Lines • Show All 1,106 Lines • ▼ Show 20 Lines | error = vm_map_fixed(map, obj, 0, | ||||
VM_PROT_READ | VM_PROT_EXECUTE, | VM_PROT_READ | VM_PROT_EXECUTE, | ||||
MAP_INHERIT_SHARE | MAP_ACC_NO_CHARGE); | MAP_INHERIT_SHARE | MAP_ACC_NO_CHARGE); | ||||
if (error != KERN_SUCCESS) { | if (error != KERN_SUCCESS) { | ||||
vm_object_deallocate(obj); | vm_object_deallocate(obj); | ||||
return (vm_mmap_to_errno(error)); | return (vm_mmap_to_errno(error)); | ||||
} | } | ||||
} | } | ||||
if (sv->sv_onexec != NULL) | if (sv->sv_onexec != NULL) { | ||||
sv->sv_onexec(p, imgp); | error = sv->sv_onexec(p, imgp); | ||||
if (error != 0) | |||||
return (error); | |||||
} | |||||
/* Allocate a new stack */ | /* Allocate a new stack */ | ||||
if (imgp->stack_sz != 0) { | if (imgp->stack_sz != 0) { | ||||
ssiz = trunc_page(imgp->stack_sz); | ssiz = trunc_page(imgp->stack_sz); | ||||
PROC_LOCK(p); | PROC_LOCK(p); | ||||
lim_rlimit_proc(p, RLIMIT_STACK, &rlim_stack); | lim_rlimit_proc(p, RLIMIT_STACK, &rlim_stack); | ||||
PROC_UNLOCK(p); | PROC_UNLOCK(p); | ||||
if (ssiz > rlim_stack.rlim_max) | if (ssiz > rlim_stack.rlim_max) | ||||
▲ Show 20 Lines • Show All 900 Lines • Show Last 20 Lines |