Lines Matching refs:exec_params
169 struct elf_fdpic_params exec_params, interp_params; in load_elf_fdpic_binary() local
186 memset(&exec_params, 0, sizeof(exec_params)); in load_elf_fdpic_binary()
189 exec_params.hdr = *(struct elfhdr *) bprm->buf; in load_elf_fdpic_binary()
190 exec_params.flags = ELF_FDPIC_FLAG_PRESENT | ELF_FDPIC_FLAG_EXECUTABLE; in load_elf_fdpic_binary()
194 if (!is_elf_fdpic(&exec_params.hdr, bprm->file)) in load_elf_fdpic_binary()
198 retval = elf_fdpic_fetch_phdrs(&exec_params, bprm->file); in load_elf_fdpic_binary()
203 phdr = exec_params.phdrs; in load_elf_fdpic_binary()
205 for (i = 0; i < exec_params.hdr.e_phnum; i++, phdr++) { in load_elf_fdpic_binary()
264 if (exec_params.load_addr == 0) in load_elf_fdpic_binary()
265 exec_params.load_addr = phdr->p_vaddr; in load_elf_fdpic_binary()
272 if (elf_check_const_displacement(&exec_params.hdr)) in load_elf_fdpic_binary()
273 exec_params.flags |= ELF_FDPIC_FLAG_CONSTDISP; in load_elf_fdpic_binary()
289 stack_size = exec_params.stack_size; in load_elf_fdpic_binary()
290 if (exec_params.flags & ELF_FDPIC_FLAG_EXEC_STACK) in load_elf_fdpic_binary()
292 else if (exec_params.flags & ELF_FDPIC_FLAG_NOEXEC_STACK) in load_elf_fdpic_binary()
323 if (elf_read_implies_exec(&exec_params.hdr, executable_stack)) in load_elf_fdpic_binary()
339 elf_fdpic_arch_lay_out_mm(&exec_params, in load_elf_fdpic_binary()
351 retval = elf_fdpic_map_file(&exec_params, bprm->file, current->mm, in load_elf_fdpic_binary()
410 &exec_params, &interp_params) < 0) in load_elf_fdpic_binary()
428 dynaddr = interp_params.dynamic_addr ?: exec_params.dynamic_addr; in load_elf_fdpic_binary()
429 ELF_FDPIC_PLAT_INIT(regs, exec_params.map_addr, interp_params.map_addr, in load_elf_fdpic_binary()
434 entryaddr = interp_params.entry_addr ?: exec_params.entry_addr; in load_elf_fdpic_binary()
445 kfree(exec_params.phdrs); in load_elf_fdpic_binary()
446 kfree(exec_params.loadmap); in load_elf_fdpic_binary()
469 struct elf_fdpic_params *exec_params, in create_elf_fdpic_tables() argument
532 len += sizeof(struct elf32_fdpic_loadseg) * exec_params->loadmap->nsegs; in create_elf_fdpic_tables()
534 exec_params->map_addr = sp; in create_elf_fdpic_tables()
536 if (copy_to_user((void __user *) sp, exec_params->loadmap, len) != 0) in create_elf_fdpic_tables()
615 NEW_AUX_ENT(AT_PHDR, exec_params->ph_addr); in create_elf_fdpic_tables()
617 NEW_AUX_ENT(AT_PHNUM, exec_params->hdr.e_phnum); in create_elf_fdpic_tables()
620 NEW_AUX_ENT(AT_ENTRY, exec_params->entry_addr); in create_elf_fdpic_tables()