Lines Matching refs:bprm
186 static int load_elf_fdpic_binary(struct linux_binprm *bprm) in load_elf_fdpic_binary() argument
209 exec_params.hdr = *(struct elfhdr *) bprm->buf; in load_elf_fdpic_binary()
214 if (!is_elf(&exec_params.hdr, bprm->file)) in load_elf_fdpic_binary()
228 retval = elf_fdpic_fetch_phdrs(&exec_params, bprm->file); in load_elf_fdpic_binary()
251 retval = kernel_read(bprm->file, interpreter_name, in load_elf_fdpic_binary()
278 would_dump(bprm, interpreter); in load_elf_fdpic_binary()
281 retval = kernel_read(interpreter, bprm->buf, in load_elf_fdpic_binary()
289 interp_params.hdr = *((struct elfhdr *) bprm->buf); in load_elf_fdpic_binary()
345 retval = flush_old_exec(bprm); in load_elf_fdpic_binary()
359 setup_new_exec(bprm); in load_elf_fdpic_binary()
377 retval = setup_arg_pages(bprm, current->mm->start_stack, in load_elf_fdpic_binary()
382 retval = arch_setup_additional_pages(bprm, !!interpreter_name); in load_elf_fdpic_binary()
389 retval = elf_fdpic_map_file(&exec_params, bprm->file, current->mm, in load_elf_fdpic_binary()
441 install_exec_creds(bprm); in load_elf_fdpic_binary()
442 if (create_elf_fdpic_tables(bprm, current->mm, in load_elf_fdpic_binary()
466 finalize_exec(bprm); in load_elf_fdpic_binary()
501 static int create_elf_fdpic_tables(struct linux_binprm *bprm, in create_elf_fdpic_tables() argument
521 sp = arch_align_stack(bprm->p); in create_elf_fdpic_tables()
526 if (transfer_args_to_stack(bprm, &sp) < 0) in create_elf_fdpic_tables()
596 if (bprm->interp_flags & BINPRM_FLAGS_EXECFD) in create_elf_fdpic_tables()
601 sp -= (bprm->envc + 1) * sizeof(char *); /* envv[] */ in create_elf_fdpic_tables()
602 sp -= (bprm->argc + 1) * sizeof(char *); /* argv[] */ in create_elf_fdpic_tables()
636 if (bprm->interp_flags & BINPRM_FLAGS_EXECFD) { in create_elf_fdpic_tables()
639 NEW_AUX_ENT(AT_EXECFD, bprm->interp_data); in create_elf_fdpic_tables()
660 NEW_AUX_ENT(AT_SECURE, bprm->secureexec); in create_elf_fdpic_tables()
661 NEW_AUX_ENT(AT_EXECFN, bprm->exec); in create_elf_fdpic_tables()
675 csp -= (bprm->envc + 1) * sizeof(elf_caddr_t); in create_elf_fdpic_tables()
677 csp -= (bprm->argc + 1) * sizeof(elf_caddr_t); in create_elf_fdpic_tables()
682 __put_user(bprm->argc, (unsigned long __user *) csp); in create_elf_fdpic_tables()
688 current->mm->arg_start = bprm->p; in create_elf_fdpic_tables()
691 (MAX_ARG_PAGES * PAGE_SIZE - bprm->p); in create_elf_fdpic_tables()
695 for (loop = bprm->argc; loop > 0; loop--) { in create_elf_fdpic_tables()
707 for (loop = bprm->envc; loop > 0; loop--) { in create_elf_fdpic_tables()