/freebsd-11-stable/sys/kern/ |
H A D | imgact_shell.c | 63 * imgp->args->begin_argv is the minimal successful exit requirement. 100 exec_shell_imgact(struct image_params *imgp) argument 102 const char *image_header = imgp->image_header; 117 if (imgp->interpreted & IMGACT_SHELL) 120 imgp->interpreted |= IMGACT_SHELL; 128 error = VOP_GETATTR(imgp->vp, &vattr, imgp->proc->p_ucred); 172 if (imgp->args->fname != NULL) { 173 fname = imgp->args->fname; 177 sbuf_printf(sname, "/dev/fd/%d", imgp [all...] |
H A D | kern_exec.c | 361 struct image_params image_params, *imgp; local 384 imgp = &image_params; 402 bzero(imgp, sizeof(*imgp)); 403 imgp->proc = p; 404 imgp->attr = &attr; 405 imgp->args = args; 410 error = mac_execve_enter(imgp, mac_p); 448 imgp->vp = newtextvp; 460 imgp 1063 exec_unmap_first_page(struct image_params *imgp) argument 1083 exec_new_vmspace(struct image_params *imgp, struct sysentvec *sv) argument 1481 exec_copyout_strings(struct image_params *imgp) argument 1626 exec_check_permissions(struct image_params *imgp) argument [all...] |
H A D | imgact_aout.c | 65 static int exec_aout_imgact(struct image_params *imgp); 66 static int aout_fixup(register_t **stack_base, struct image_params *imgp); 148 aout_fixup(register_t **stack_base, struct image_params *imgp) argument 152 return (suword32(*stack_base, imgp->args->argc)); 156 exec_aout_imgact(struct image_params *imgp) argument 158 const struct exec *a_out = (const struct exec *) imgp->image_header; 199 imgp->ps_strings = aout_sysvec.sv_psstrings; 235 if (a_out->a_data + a_out->a_text > imgp->attr->va_size) 241 PROC_LOCK(imgp->proc); 246 a_out->a_data + bss_size > lim_cur_proc(imgp [all...] |
H A D | imgact_elf.c | 90 static Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp, 94 static int __elfN(load_section)(struct image_params *imgp, vm_ooffset_t offset, 97 static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp); 101 static boolean_t __elfN(check_note)(struct image_params *imgp, 257 __elfN(get_brandinfo)(struct image_params *imgp, const char *interp, argument 260 const Elf_Ehdr *hdr = (const Elf_Ehdr *)imgp->image_header; 282 ret = __elfN(check_note)(imgp, bi->brand_note, osrel); 285 ret = bi->header_supported(imgp); 324 bi->header_supported(imgp)) { 352 ret = bi->header_supported(imgp); 461 map_insert(struct image_params *imgp, vm_map_t map, vm_object_t object, vm_ooffset_t offset, vm_offset_t start, vm_offset_t end, vm_prot_t prot, int cow) argument 529 load_section(struct image_params *imgp, vm_ooffset_t offset, caddr_t vmaddr, size_t memsz, size_t filsz, vm_prot_t prot, size_t pagesize) argument 667 struct image_params *imgp; local 1112 freebsd_fixup(register_t **stack_base, struct image_params *imgp) argument 2333 parse_notes(struct image_params *imgp, Elf_Note *checknote, const char *note_vendor, const Elf_Phdr *pnote, boolean_t (*cb)(const Elf_Note *, void *, boolean_t *), void *cb_arg) argument 2426 check_note(struct image_params *imgp, Elf_Brandnote *brandnote, int32_t *osrel) argument [all...] |
H A D | imgact_binmisc.c | 576 imgact_binmisc_exec(struct image_params *imgp) argument 578 const char *image_header = imgp->image_header; 594 if (imgp->interpreted & IMGACT_BINMISC) { 599 imgp->interpreted |= IMGACT_BINMISC; 601 if (imgp->args->fname != NULL) { 602 fname = imgp->args->fname; 607 sbuf_printf(sname, "/dev/fd/%d", imgp->args->fd); 653 if (offset > imgp->args->stringspace) { 660 bcopy(imgp->args->begin_argv, imgp [all...] |
H A D | imgact_gzip.c | 64 static int exec_gzip_imgact(struct image_params *imgp); 70 exec_gzip_imgact(imgp) 71 struct image_params *imgp; 74 const u_char *p = (const u_char *) imgp->image_header; 106 igz.ip = imgp; 119 igz.len = imgp->attr->va_size; 131 vmspace = imgp->proc->p_vmspace;
|
/freebsd-11-stable/sys/compat/svr4/ |
H A D | imgact_svr4.c | 62 exec_svr4_imgact(imgp) 63 struct image_params *imgp; 65 const struct exec *a_out = (const struct exec *) imgp->image_header; 105 if (a_out->a_data + a_out->a_text > imgp->attr->va_size) 110 PROC_LOCK(imgp->proc); 112 a_out->a_data + bss_size > lim_cur_proc(imgp->proc, RLIMIT_DATA) || 113 racct_set(imgp->proc, RACCT_DATA, a_out->a_data + bss_size) != 0) { 114 PROC_UNLOCK(imgp->proc); 117 PROC_UNLOCK(imgp->proc); 119 VOP_UNLOCK(imgp [all...] |
H A D | svr4_sysvec.c | 157 static int svr4_fixup(register_t **stack_base, struct image_params *imgp); 215 svr4_fixup(register_t **stack_base, struct image_params *imgp) argument 220 KASSERT(curthread->td_proc == imgp->proc, 222 args = (Elf32_Auxargs *)imgp->auxargs; 223 pos = *stack_base + (imgp->args->argc + imgp->args->envc + 2); 234 AUXARGS_ENTRY(pos, AT_UID, imgp->proc->p_ucred->cr_ruid); 235 AUXARGS_ENTRY(pos, AT_EUID, imgp->proc->p_ucred->cr_svuid); 236 AUXARGS_ENTRY(pos, AT_GID, imgp->proc->p_ucred->cr_rgid); 237 AUXARGS_ENTRY(pos, AT_EGID, imgp [all...] |
/freebsd-11-stable/sys/i386/linux/ |
H A D | imgact_linux.c | 61 exec_linux_imgact(struct image_params *imgp) argument 63 const struct exec *a_out = (const struct exec *) imgp->image_header; 104 if (a_out->a_data + a_out->a_text > imgp->attr->va_size) 109 PROC_LOCK(imgp->proc); 111 a_out->a_data + bss_size > lim_cur_proc(imgp->proc, RLIMIT_DATA) || 112 racct_set(imgp->proc, RACCT_DATA, a_out->a_data + bss_size) != 0) { 113 PROC_UNLOCK(imgp->proc); 116 PROC_UNLOCK(imgp->proc); 118 VOP_UNLOCK(imgp->vp, 0); 123 error = exec_new_vmspace(imgp, [all...] |
H A D | linux_sysvec.c | 110 struct image_params *imgp, u_long stack); 111 static register_t *linux_copyout_strings(struct image_params *imgp); 189 linux_fixup(register_t **stack_base, struct image_params *imgp) argument 194 envp = *stack_base + (imgp->args->argc + 1); 200 suword(*stack_base, imgp->args->argc); 205 linux_fixup_elf(register_t **stack_base, struct image_params *imgp) argument 214 KASSERT(curthread->td_proc == imgp->proc, 217 p = imgp->proc; 218 issetugid = imgp->proc->p_flag & P_SUGID ? 1 : 0; 221 args = (Elf32_Auxargs *)imgp 271 linux_copyout_strings(struct image_params *imgp) argument 808 linux_exec_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument [all...] |
/freebsd-11-stable/sys/compat/cloudabi32/ |
H A D | cloudabi32_module.c | 49 cloudabi32_copyout_strings(struct image_params *imgp) argument 56 args = imgp->args; 58 begin = rounddown2(imgp->sysent->sv_usrstack - len, sizeof(register_t)); 64 cloudabi32_fixup(register_t **stack_base, struct image_params *imgp) argument 111 args = (Elf32_Auxargs *)imgp->auxargs; 112 argdatalen = imgp->args->begin_envv - imgp->args->begin_argv; 131 imgp->proc->p_sysent->sv_shared_page_base),
|
/freebsd-11-stable/sys/compat/cloudabi64/ |
H A D | cloudabi64_module.c | 49 cloudabi64_copyout_strings(struct image_params *imgp) argument 56 args = imgp->args; 58 begin = rounddown2(imgp->sysent->sv_usrstack - len, sizeof(register_t)); 64 cloudabi64_fixup(register_t **stack_base, struct image_params *imgp) argument 111 args = (Elf64_Auxargs *)imgp->auxargs; 112 argdatalen = imgp->args->begin_envv - imgp->args->begin_argv; 131 imgp->proc->p_sysent->sv_shared_page_base),
|
/freebsd-11-stable/sys/i386/ibcs2/ |
H A D | imgact_coff.c | 60 static int exec_coff_imgact(struct image_params *imgp); 293 exec_coff_imgact(imgp) 294 struct image_params *imgp; 296 const struct filehdr *fhdr = (const struct filehdr*)imgp->image_header; 327 ((const char*)(imgp->image_header) + sizeof(struct filehdr)); 328 imgp->entry_addr = ahdr->entry; 331 ((const char*)(imgp->image_header) + sizeof(struct filehdr) + 334 VOP_UNLOCK(imgp->vp, 0); 336 error = exec_new_vmspace(imgp, &ibcs2_svr3_sysvec); 339 vmspace = imgp [all...] |
H A D | ibcs2_sysvec.c | 97 ibcs2_fixup(register_t **stack_base, struct image_params *imgp) argument 100 return (suword(--(*stack_base), imgp->args->argc));
|
/freebsd-11-stable/sys/compat/linux/ |
H A D | linux_emul.c | 184 linux_exec_imgact_try(struct image_params *imgp) argument 186 const char *head = (const char *)imgp->image_header; 201 if ((error = exec_shell_imgact(imgp)) == 0) { 202 linux_emul_convpath(FIRST_THREAD_IN_PROC(imgp->proc), 203 imgp->interpreter_name, UIO_SYSSPACE, &rpath, 0, 206 imgp->args->fname_buf = 207 imgp->interpreter_name = rpath; 262 linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp) argument 276 if (__predict_false((imgp->sysent->sv_flags & SV_ABI_MASK) == 310 imgp [all...] |
/freebsd-11-stable/sys/amd64/linux/ |
H A D | linux_sysvec.c | 115 static register_t * linux_copyout_strings(struct image_params *imgp); 123 static void linux_exec_setregs(struct thread *td, struct image_params *imgp, 242 linux_fixup_elf(register_t **stack_base, struct image_params *imgp) argument 251 p = imgp->proc; 254 KASSERT(curthread->td_proc == imgp->proc, 257 args = (Elf64_Auxargs *)imgp->auxargs; 258 pos = base + (imgp->args->argc + imgp->args->envc + 2); 262 imgp->proc->p_sysent->sv_shared_page_base); 272 AUXARGS_ENTRY(pos, AT_UID, imgp 300 linux_copyout_strings(struct image_params *imgp) argument 397 linux_exec_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument [all...] |
/freebsd-11-stable/sys/amd64/linux32/ |
H A D | linux32_sysvec.c | 119 static register_t *linux_copyout_strings(struct image_params *imgp); 122 struct image_params *imgp, u_long stack); 202 linux_fixup_elf(register_t **stack_base, struct image_params *imgp) argument 212 KASSERT(curthread->td_proc == imgp->proc, 215 args = (Elf32_Auxargs *)imgp->auxargs; 216 pos = base + (imgp->args->argc + imgp->args->envc + 2); 218 issetugid = imgp->proc->p_flag & P_SUGID ? 1 : 0; 220 imgp->proc->p_sysent->sv_shared_page_base); 242 AUXARGS_ENTRY_32(pos, AT_UID, imgp 718 linux_exec_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument 766 linux_copyout_strings(struct image_params *imgp) argument [all...] |
/freebsd-11-stable/sys/i386/cloudabi32/ |
H A D | cloudabi32_sysvec.c | 51 cloudabi32_fixup_tcb(register_t **stack_base, struct image_params *imgp) argument 57 error = cloudabi32_fixup(stack_base, imgp); 79 cloudabi32_proc_setregs(struct thread *td, struct image_params *imgp, argument 83 exec_setregs(td, imgp, stack);
|
/freebsd-11-stable/sys/amd64/cloudabi32/ |
H A D | cloudabi32_sysvec.c | 56 cloudabi32_fixup_tcb(register_t **stack_base, struct image_params *imgp) argument 62 error = cloudabi32_fixup(stack_base, imgp); 84 cloudabi32_proc_setregs(struct thread *td, struct image_params *imgp, argument 88 ia32_setregs(td, imgp, stack);
|
/freebsd-11-stable/sys/amd64/cloudabi64/ |
H A D | cloudabi64_sysvec.c | 51 cloudabi64_fixup_tcb(register_t **stack_base, struct image_params *imgp) argument 57 error = cloudabi64_fixup(stack_base, imgp); 71 cloudabi64_proc_setregs(struct thread *td, struct image_params *imgp, argument 76 exec_setregs(td, imgp, stack);
|
/freebsd-11-stable/sys/powerpc/powerpc/ |
H A D | elf64_machdep.c | 52 static void exec_setregs_funcdesc(struct thread *td, struct image_params *imgp, 203 exec_setregs_funcdesc(struct thread *td, struct image_params *imgp, argument 210 exec_setregs(td, imgp, stack); 221 (void)copyin((void *)imgp->entry_addr, entry_desc, 223 tf->srr0 = entry_desc[0] + imgp->reloc_base; 224 tf->fixreg[2] = entry_desc[1] + imgp->reloc_base; 225 tf->fixreg[11] = entry_desc[2] + imgp->reloc_base;
|
/freebsd-11-stable/sys/security/mac/ |
H A D | mac_process.c | 136 mac_execve_enter(struct image_params *imgp, struct mac *mac_p) argument 171 imgp->execlabel = label; 176 mac_execve_exit(struct image_params *imgp) argument 178 if (imgp->execlabel != NULL) { 179 mac_cred_label_free(imgp->execlabel); 180 imgp->execlabel = NULL;
|
/freebsd-11-stable/sys/arm/cloudabi32/ |
H A D | cloudabi32_sysvec.c | 51 cloudabi32_proc_setregs(struct thread *td, struct image_params *imgp, argument 56 exec_setregs(td, imgp, stack);
|
/freebsd-11-stable/sys/arm64/cloudabi64/ |
H A D | cloudabi64_sysvec.c | 51 cloudabi64_proc_setregs(struct thread *td, struct image_params *imgp, argument 56 exec_setregs(td, imgp, stack);
|
/freebsd-11-stable/sys/arm/arm/ |
H A D | elf_machdep.c | 118 elf32_arm_abi_supported(struct image_params *imgp) argument 120 const Elf_Ehdr *hdr = (const Elf_Ehdr *)imgp->image_header; 128 EF_ARM_EABI_VERSION(hdr->e_flags), imgp->args->fname);
|