Home
last modified time | relevance | path

Searched refs:bprm (Results 1 – 8 of 8) sorted by relevance

/fs/
Dexec.c79 static int bprm_creds_from_file(struct linux_binprm *bprm);
190 static void acct_arg_size(struct linux_binprm *bprm, unsigned long pages) in acct_arg_size() argument
193 long diff = (long)(pages - bprm->vma_pages); in acct_arg_size()
198 bprm->vma_pages = pages; in acct_arg_size()
202 static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos, in get_arg_page() argument
211 ret = expand_downwards(bprm->vma, pos); in get_arg_page()
224 ret = get_user_pages_remote(bprm->mm, pos, 1, gup_flags, in get_arg_page()
230 acct_arg_size(bprm, vma_pages(bprm->vma)); in get_arg_page()
240 static void free_arg_pages(struct linux_binprm *bprm) in free_arg_pages() argument
244 static void flush_arg_page(struct linux_binprm *bprm, unsigned long pos, in flush_arg_page() argument
[all …]
Dbinfmt_script.c34 static int load_script(struct linux_binprm *bprm) in load_script() argument
41 if ((bprm->buf[0] != '#') || (bprm->buf[1] != '!')) in load_script()
58 buf_end = bprm->buf + sizeof(bprm->buf) - 1; in load_script()
59 i_end = strnchr(bprm->buf, sizeof(bprm->buf), '\n'); in load_script()
61 i_end = next_non_spacetab(bprm->buf + 2, buf_end); in load_script()
77 i_name = next_non_spacetab(bprm->buf+2, i_end); in load_script()
93 if (bprm->interp_flags & BINPRM_FLAGS_PATH_INACCESSIBLE) in load_script()
106 retval = remove_arg_zero(bprm); in load_script()
109 retval = copy_string_kernel(bprm->interp, bprm); in load_script()
112 bprm->argc++; in load_script()
[all …]
Dbinfmt_em86.c26 static int load_em86(struct linux_binprm *bprm) in load_em86() argument
35 elf_ex = *((struct elfhdr *)bprm->buf); in load_em86()
43 !bprm->file->f_op->mmap) { in load_em86()
48 if (bprm->interp_flags & BINPRM_FLAGS_PATH_INACCESSIBLE) in load_em86()
66 remove_arg_zero(bprm); in load_em86()
67 retval = copy_string_kernel(bprm->filename, bprm); in load_em86()
69 bprm->argc++; in load_em86()
71 retval = copy_string_kernel(i_arg, bprm); in load_em86()
73 bprm->argc++; in load_em86()
75 retval = copy_string_kernel(i_name, bprm); in load_em86()
[all …]
Dbinfmt_flat.c123 static int create_flat_tables(struct linux_binprm *bprm, unsigned long arg_start) in create_flat_tables() argument
132 sp -= bprm->envc + 1; in create_flat_tables()
133 sp -= bprm->argc + 1; in create_flat_tables()
141 if (put_user(bprm->argc, sp++)) in create_flat_tables()
146 envp = (unsigned long)(sp + 2 + bprm->argc + 1); in create_flat_tables()
152 for (i = bprm->argc; i > 0; i--) { in create_flat_tables()
165 for (i = bprm->envc; i > 0; i--) { in create_flat_tables()
197 static int decompress_exec(struct linux_binprm *bprm, loff_t fpos, char *dst, in decompress_exec() argument
218 ret = kernel_read(bprm->file, buf, LBUFSIZE, &fpos); in decompress_exec()
288 ret = kernel_read(bprm->file, buf, LBUFSIZE, &fpos); in decompress_exec()
[all …]
Dbinfmt_aout.c59 static unsigned long __user *create_aout_tables(char __user *p, struct linux_binprm * bprm) in create_aout_tables() argument
64 int argc = bprm->argc; in create_aout_tables()
65 int envc = bprm->envc; in create_aout_tables()
72 if (bprm->loader) { in create_aout_tables()
75 put_user(bprm->loader, --sp); in create_aout_tables()
78 put_user(bprm->exec, --sp); in create_aout_tables()
117 static int load_aout_binary(struct linux_binprm * bprm) in load_aout_binary() argument
126 ex = *((struct exec *) bprm->buf); /* exec-header */ in load_aout_binary()
130 i_size_read(file_inode(bprm->file)) < ex.a_text+ex.a_data+N_SYMSIZE(ex)+N_TXTOFF(ex)) { in load_aout_binary()
138 if (!bprm->file->f_op->mmap) in load_aout_binary()
[all …]
Dbinfmt_misc.c90 static Node *check_file(struct linux_binprm *bprm) in check_file() argument
92 char *p = strrchr(bprm->interp, '.'); in check_file()
113 s = bprm->buf + e->offset; in check_file()
132 static int load_misc_binary(struct linux_binprm *bprm) in load_misc_binary() argument
144 fmt = check_file(bprm); in load_misc_binary()
153 if (bprm->interp_flags & BINPRM_FLAGS_PATH_INACCESSIBLE) in load_misc_binary()
157 retval = remove_arg_zero(bprm); in load_misc_binary()
163 bprm->have_execfd = 1; in load_misc_binary()
166 retval = copy_string_kernel(bprm->interp, bprm); in load_misc_binary()
169 bprm->argc++; in load_misc_binary()
[all …]
Dbinfmt_elf_fdpic.c182 static int load_elf_fdpic_binary(struct linux_binprm *bprm) in load_elf_fdpic_binary() argument
205 exec_params.hdr = *(struct elfhdr *) bprm->buf; in load_elf_fdpic_binary()
210 if (!is_elf(&exec_params.hdr, bprm->file)) in load_elf_fdpic_binary()
224 retval = elf_fdpic_fetch_phdrs(&exec_params, bprm->file); in load_elf_fdpic_binary()
247 retval = kernel_read(bprm->file, interpreter_name, in load_elf_fdpic_binary()
274 would_dump(bprm, interpreter); in load_elf_fdpic_binary()
277 retval = kernel_read(interpreter, bprm->buf, in load_elf_fdpic_binary()
285 interp_params.hdr = *((struct elfhdr *) bprm->buf); in load_elf_fdpic_binary()
341 retval = begin_new_exec(bprm); in load_elf_fdpic_binary()
354 setup_new_exec(bprm); in load_elf_fdpic_binary()
[all …]
Dbinfmt_elf.c68 static int load_elf_binary(struct linux_binprm *bprm);
172 create_elf_tables(struct linux_binprm *bprm, const struct elfhdr *exec, in create_elf_tables() argument
177 unsigned long p = bprm->p; in create_elf_tables()
178 int argc = bprm->argc; in create_elf_tables()
179 int envc = bprm->envc; in create_elf_tables()
269 NEW_AUX_ENT(AT_SECURE, bprm->secureexec); in create_elf_tables()
274 NEW_AUX_ENT(AT_EXECFN, bprm->exec); in create_elf_tables()
283 if (bprm->have_execfd) { in create_elf_tables()
284 NEW_AUX_ENT(AT_EXECFD, bprm->execfd); in create_elf_tables()
298 bprm->p = STACK_ROUND(sp, items); in create_elf_tables()
[all …]