/freebsd-10.0-release/sys/kern/ |
H A D | imgact_shell.c | 63 * imgp->args->begin_argv is the minimal successful exit requirement. 100 exec_shell_imgact(imgp) 101 struct image_params *imgp; 103 const char *image_header = imgp->image_header; 118 if (imgp->interpreted) 121 imgp->interpreted = 1; 129 error = VOP_GETATTR(imgp->vp, &vattr, imgp->proc->p_ucred); 173 if (imgp->args->fname != NULL) { 174 fname = imgp [all...] |
H A D | kern_exec.c | 345 struct image_params image_params, *imgp; local 367 imgp = &image_params; 385 imgp->proc = p; 386 imgp->execlabel = NULL; 387 imgp->attr = &attr; 388 imgp->entry_addr = 0; 389 imgp->reloc_base = 0; 390 imgp->vmspace_destroyed = 0; 391 imgp->interpreted = 0; 392 imgp [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); 152 aout_fixup(register_t **stack_base, struct image_params *imgp) argument 156 return (suword32(*stack_base, imgp->args->argc)); 160 exec_aout_imgact(struct image_params *imgp) argument 162 const struct exec *a_out = (const struct exec *) imgp->image_header; 203 imgp->ps_strings = aout_sysvec.sv_psstrings; 239 if (a_out->a_data + a_out->a_text > imgp->attr->va_size) 245 PROC_LOCK(imgp->proc); 250 a_out->a_data + bss_size > lim_cur(imgp [all...] |
H A D | imgact_elf.c | 88 static Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp, 92 static int __elfN(load_section)(struct image_params *imgp, vm_offset_t offset, 95 static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp); 99 static boolean_t __elfN(check_note)(struct image_params *imgp, 259 __elfN(get_brandinfo)(struct image_params *imgp, const char *interp, argument 262 const Elf_Ehdr *hdr = (const Elf_Ehdr *)imgp->image_header; 281 ret = __elfN(check_note)(imgp, bi->brand_note, osrel); 460 __elfN(load_section)(struct image_params *imgp, vm_offset_t offset, argument 482 if ((off_t)filsz + offset > imgp->attr->va_size || filsz > memsz) { 487 object = imgp 598 struct image_params *imgp; local 979 freebsd_fixup(register_t **stack_base, struct image_params *imgp) argument 1970 parse_notes(struct image_params *imgp, Elf_Brandnote *checknote, int32_t *osrel, const Elf_Phdr *pnote) argument 2022 check_note(struct image_params *imgp, Elf_Brandnote *checknote, int32_t *osrel) argument [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-10.0-release/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(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); 216 svr4_fixup(register_t **stack_base, struct image_params *imgp) argument 221 KASSERT(curthread->td_proc == imgp->proc, 223 args = (Elf32_Auxargs *)imgp->auxargs; 224 pos = *stack_base + (imgp->args->argc + imgp->args->envc + 2); 235 AUXARGS_ENTRY(pos, AT_UID, imgp->proc->p_ucred->cr_ruid); 236 AUXARGS_ENTRY(pos, AT_EUID, imgp->proc->p_ucred->cr_svuid); 237 AUXARGS_ENTRY(pos, AT_GID, imgp->proc->p_ucred->cr_rgid); 238 AUXARGS_ENTRY(pos, AT_EGID, imgp [all...] |
/freebsd-10.0-release/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(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); 224 linux_fixup(register_t **stack_base, struct image_params *imgp) argument 229 envp = *stack_base + (imgp->args->argc + 1); 235 suword(*stack_base, imgp->args->argc); 240 elf_linux_fixup(register_t **stack_base, struct image_params *imgp) argument 248 KASSERT(curthread->td_proc == imgp->proc, 251 p = imgp->proc; 254 args = (Elf32_Auxargs *)imgp->auxargs; 255 pos = *stack_base + (imgp 298 linux_copyout_strings(struct image_params *imgp) argument 876 exec_linux_imgact_try(struct image_params *imgp) argument 910 exec_linux_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument [all...] |
/freebsd-10.0-release/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 | 95 ibcs2_fixup(register_t **stack_base, struct image_params *imgp) argument 98 return (suword(--(*stack_base), imgp->args->argc));
|
/freebsd-10.0-release/sys/amd64/linux32/ |
H A D | linux32_sysvec.c | 124 static register_t *linux_copyout_strings(struct image_params *imgp); 127 struct image_params *imgp, u_long stack); 245 elf_linux_fixup(register_t **stack_base, struct image_params *imgp) argument 255 KASSERT(curthread->td_proc == imgp->proc, 258 args = (Elf32_Auxargs *)imgp->auxargs; 259 pos = base + (imgp->args->argc + imgp->args->envc + 2); 281 AUXARGS_ENTRY_32(pos, AT_UID, imgp->proc->p_ucred->cr_ruid); 282 AUXARGS_ENTRY_32(pos, AT_EUID, imgp->proc->p_ucred->cr_svuid); 283 AUXARGS_ENTRY_32(pos, AT_GID, imgp 781 exec_linux_imgact_try(struct image_params *imgp) argument 815 exec_linux_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument 858 linux_copyout_strings(struct image_params *imgp) argument [all...] |
/freebsd-10.0-release/sys/security/mac/ |
H A D | mac_process.c | 137 mac_execve_enter(struct image_params *imgp, struct mac *mac_p) argument 172 imgp->execlabel = label; 177 mac_execve_exit(struct image_params *imgp) argument 179 if (imgp->execlabel != NULL) { 180 mac_cred_label_free(imgp->execlabel); 181 imgp->execlabel = NULL;
|
H A D | mac_vfs.c | 347 struct vnode *vp, struct label *interpvplabel, struct image_params *imgp) 353 vp->v_label, interpvplabel, imgp, imgp->execlabel); 358 struct label *interpvplabel, struct image_params *imgp) 367 vp->v_label, interpvplabel, imgp, imgp->execlabel); 479 struct image_params *imgp) 485 MAC_POLICY_CHECK(vnode_check_exec, cred, vp, vp->v_label, imgp, 486 imgp->execlabel); 487 MAC_CHECK_PROBE3(vnode_check_exec, error, cred, vp, imgp); 346 mac_vnode_execve_transition(struct ucred *old, struct ucred *new, struct vnode *vp, struct label *interpvplabel, struct image_params *imgp) argument 357 mac_vnode_execve_will_transition(struct ucred *old, struct vnode *vp, struct label *interpvplabel, struct image_params *imgp) argument 478 mac_vnode_check_exec(struct ucred *cred, struct vnode *vp, struct image_params *imgp) argument [all...] |
H A D | mac_framework.h | 274 int mac_execve_enter(struct image_params *imgp, struct mac *mac_p); 275 void mac_execve_exit(struct image_params *imgp); 389 struct image_params *imgp); 442 struct label *interpvplabel, struct image_params *imgp); 445 struct image_params *imgp);
|
/freebsd-10.0-release/sys/compat/linux/ |
H A D | linux_emul.c | 344 linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp) argument 346 if (__predict_false(imgp->sysent == &elf_linux_sysvec)) { 347 LIN_SDT_PROBE2(emul, proc_exec, entry, p, imgp); 349 if (__predict_false(imgp->sysent == &elf_linux_sysvec 354 /* Kill threads regardless of imgp->sysent value */ 356 if (__predict_false(imgp->sysent != &elf_linux_sysvec 387 if (__predict_false(imgp->sysent == &elf_linux_sysvec)) {
|
/freebsd-10.0-release/sys/powerpc/powerpc/ |
H A D | exec_machdep.c | 502 exec_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument 549 tf->fixreg[8] = (register_t)imgp->ps_strings; /* NetBSD extension */ 560 (void)copyin((void *)imgp->entry_addr, entry_desc, sizeof(entry_desc)); 561 tf->srr0 = entry_desc[0] + imgp->reloc_base; 562 tf->fixreg[2] = entry_desc[1] + imgp->reloc_base; 563 tf->fixreg[11] = entry_desc[2] + imgp->reloc_base; 568 tf->srr0 = imgp->entry_addr; 576 ppc32_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument 594 tf->fixreg[8] = (register_t)imgp->ps_strings; /* NetBSD extension */ 596 tf->srr0 = imgp [all...] |
/freebsd-10.0-release/sys/compat/freebsd32/ |
H A D | freebsd32_util.h | 109 register_t *freebsd32_copyout_strings(struct image_params *imgp);
|
H A D | freebsd32_misc.c | 2789 freebsd32_copyout_strings(struct image_params *imgp) argument 2805 if (imgp->execpath != NULL && imgp->auxargs != NULL) 2806 execpath_len = strlen(imgp->execpath) + 1; 2811 if (imgp->proc->p_sysent->sv_sigcode_base == 0) 2812 szsigcode = *(imgp->proc->p_sysent->sv_szsigcode); 2819 roundup((ARG_MAX - imgp->args->stringspace), sizeof(char *)); 2825 copyout(imgp->proc->p_sysent->sv_sigcode, 2832 imgp->execpathp = (uintptr_t)arginfo - szsigcode - execpath_len; 2833 copyout(imgp [all...] |
/freebsd-10.0-release/sys/compat/ia32/ |
H A D | ia32_signal.h | 204 void ia32_setregs(struct thread *td, struct image_params *imgp,
|
/freebsd-10.0-release/sys/mips/mips/ |
H A D | pm_machdep.c | 447 exec_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument 484 td->td_frame->pc = imgp->entry_addr & ~3; 485 td->td_frame->t9 = imgp->entry_addr & ~3; /* abicall req */ 510 td->td_frame->a3 = (register_t)imgp->ps_strings;
|
/freebsd-10.0-release/sys/security/mac_bsdextended/ |
H A D | ugidfw_internal.h | 70 struct label *vplabel, struct image_params *imgp,
|
H A D | ugidfw_vnode.c | 113 struct label *vplabel, struct image_params *imgp, 112 ugidfw_vnode_check_exec(struct ucred *cred, struct vnode *vp, struct label *vplabel, struct image_params *imgp, struct label *execlabel) argument
|
/freebsd-10.0-release/sys/ia64/ia32/ |
H A D | ia32_signal.c | 132 ia32_setregs(struct thread *td, struct image_params *imgp, u_long stack) argument 143 exec_setregs(td, imgp, stack);
|
/freebsd-10.0-release/sys/security/mac_partition/ |
H A D | mac_partition.c | 281 struct label *vplabel, struct image_params *imgp, 280 partition_vnode_check_exec(struct ucred *cred, struct vnode *vp, struct label *vplabel, struct image_params *imgp, struct label *execlabel) argument
|