Lines Matching refs:elf_ppnt

671 	struct elf_phdr *elf_ppnt, *elf_phdata, *interp_elf_phdata = NULL;  in load_elf_binary()  local
711 elf_ppnt = elf_phdata; in load_elf_binary()
721 if (elf_ppnt->p_type == PT_INTERP) { in load_elf_binary()
727 if (elf_ppnt->p_filesz > PATH_MAX || in load_elf_binary()
728 elf_ppnt->p_filesz < 2) in load_elf_binary()
732 elf_interpreter = kmalloc(elf_ppnt->p_filesz, in load_elf_binary()
737 retval = kernel_read(bprm->file, elf_ppnt->p_offset, in load_elf_binary()
739 elf_ppnt->p_filesz); in load_elf_binary()
740 if (retval != elf_ppnt->p_filesz) { in load_elf_binary()
747 if (elf_interpreter[elf_ppnt->p_filesz - 1] != '\0') in load_elf_binary()
774 elf_ppnt++; in load_elf_binary()
777 elf_ppnt = elf_phdata; in load_elf_binary()
778 for (i = 0; i < loc->elf_ex.e_phnum; i++, elf_ppnt++) in load_elf_binary()
779 switch (elf_ppnt->p_type) { in load_elf_binary()
781 if (elf_ppnt->p_flags & PF_X) in load_elf_binary()
788 retval = arch_elf_pt_proc(&loc->elf_ex, elf_ppnt, in load_elf_binary()
813 elf_ppnt = interp_elf_phdata; in load_elf_binary()
814 for (i = 0; i < loc->interp_elf_ex.e_phnum; i++, elf_ppnt++) in load_elf_binary()
815 switch (elf_ppnt->p_type) { in load_elf_binary()
818 elf_ppnt, interpreter, in load_elf_binary()
862 for(i = 0, elf_ppnt = elf_phdata; in load_elf_binary()
863 i < loc->elf_ex.e_phnum; i++, elf_ppnt++) { in load_elf_binary()
868 if (elf_ppnt->p_type != PT_LOAD) in load_elf_binary()
897 if (elf_ppnt->p_flags & PF_R) in load_elf_binary()
899 if (elf_ppnt->p_flags & PF_W) in load_elf_binary()
901 if (elf_ppnt->p_flags & PF_X) in load_elf_binary()
906 vaddr = elf_ppnt->p_vaddr; in load_elf_binary()
926 error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, in load_elf_binary()
936 load_addr = (elf_ppnt->p_vaddr - elf_ppnt->p_offset); in load_elf_binary()
944 k = elf_ppnt->p_vaddr; in load_elf_binary()
955 if (BAD_ADDR(k) || elf_ppnt->p_filesz > elf_ppnt->p_memsz || in load_elf_binary()
956 elf_ppnt->p_memsz > TASK_SIZE || in load_elf_binary()
957 TASK_SIZE - elf_ppnt->p_memsz < k) { in load_elf_binary()
963 k = elf_ppnt->p_vaddr + elf_ppnt->p_filesz; in load_elf_binary()
967 if ((elf_ppnt->p_flags & PF_X) && end_code < k) in load_elf_binary()
971 k = elf_ppnt->p_vaddr + elf_ppnt->p_memsz; in load_elf_binary()