Lines Matching refs:bprm
108 static int create_flat_tables(struct linux_binprm *bprm, unsigned long arg_start) in create_flat_tables() argument
117 sp -= bprm->envc + 1; in create_flat_tables()
118 sp -= bprm->argc + 1; in create_flat_tables()
126 if (put_user(bprm->argc, sp++)) in create_flat_tables()
131 envp = (unsigned long)(sp + 2 + bprm->argc + 1); in create_flat_tables()
137 for (i = bprm->argc; i > 0; i--) { in create_flat_tables()
150 for (i = bprm->envc; i > 0; i--) { in create_flat_tables()
182 static int decompress_exec(struct linux_binprm *bprm, loff_t fpos, char *dst, in decompress_exec() argument
203 ret = kernel_read(bprm->file, buf, LBUFSIZE, &fpos); in decompress_exec()
273 ret = kernel_read(bprm->file, buf, LBUFSIZE, &fpos); in decompress_exec()
406 static int load_flat_file(struct linux_binprm *bprm, in load_flat_file() argument
421 hdr = ((struct flat_hdr *) bprm->buf); /* exec-header */ in load_flat_file()
449 pr_info("Loading file: %s\n", bprm->filename); in load_flat_file()
509 ret = begin_new_exec(bprm); in load_flat_file()
515 setup_new_exec(bprm); in load_flat_file()
535 textpos = vm_mmap(bprm->file, 0, text_len, PROT_READ|PROT_EXEC, in load_flat_file()
570 result = decompress_exec(bprm, fpos, (char *)datapos, in load_flat_file()
575 result = read_code(bprm->file, datapos, fpos, in load_flat_file()
622 result = decompress_exec(bprm, sizeof(struct flat_hdr), in load_flat_file()
640 result = decompress_exec(bprm, sizeof(struct flat_hdr), in load_flat_file()
652 result = read_code(bprm->file, textpos, 0, text_len); in load_flat_file()
655 result = decompress_exec(bprm, text_len, (char *) datapos, in load_flat_file()
662 result = decompress_exec(bprm, text_len, in load_flat_file()
675 result = read_code(bprm->file, textpos, 0, text_len); in load_flat_file()
677 result = read_code(bprm->file, datapos, in load_flat_file()
716 "Load", bprm->filename, in load_flat_file()
855 static int load_flat_binary(struct linux_binprm *bprm) in load_flat_binary() argument
874 stack_len += PAGE_SIZE * MAX_ARG_PAGES - bprm->p; /* the strings */ in load_flat_binary()
876 stack_len += (bprm->argc + 1) * sizeof(char *); /* the argv array */ in load_flat_binary()
877 stack_len += (bprm->envc + 1) * sizeof(char *); /* the envp array */ in load_flat_binary()
880 res = load_flat_file(bprm, &libinfo, &stack_len); in load_flat_binary()
902 res = setup_arg_pages(bprm, STACK_TOP, EXSTACK_DEFAULT); in load_flat_binary()
904 res = create_flat_tables(bprm, bprm->p); in load_flat_binary()
912 res = transfer_args_to_stack(bprm, ¤t->mm->start_stack); in load_flat_binary()
914 res = create_flat_tables(bprm, current->mm->start_stack); in load_flat_binary()
929 finalize_exec(bprm); in load_flat_binary()