Lines Matching refs:ehdr
430 arch_kexec_apply_relocations_add(const Elf_Ehdr *ehdr, Elf_Shdr *sechdrs, in arch_kexec_apply_relocations_add() argument
439 arch_kexec_apply_relocations(const Elf_Ehdr *ehdr, Elf_Shdr *sechdrs, in arch_kexec_apply_relocations() argument
2310 sechdrs_c = (void *)pi->ehdr + pi->ehdr->e_shoff; in __kexec_load_purgatory()
2319 sechdrs = vzalloc(pi->ehdr->e_shnum * sizeof(Elf_Shdr)); in __kexec_load_purgatory()
2323 memcpy(sechdrs, sechdrs_c, pi->ehdr->e_shnum * sizeof(Elf_Shdr)); in __kexec_load_purgatory()
2339 for (i = 0; i < pi->ehdr->e_shnum; i++) { in __kexec_load_purgatory()
2343 sechdrs[i].sh_offset = (unsigned long)pi->ehdr + in __kexec_load_purgatory()
2351 entry = pi->ehdr->e_entry; in __kexec_load_purgatory()
2352 for (i = 0; i < pi->ehdr->e_shnum; i++) { in __kexec_load_purgatory()
2360 if (sechdrs[i].sh_addr <= pi->ehdr->e_entry && in __kexec_load_purgatory()
2362 pi->ehdr->e_entry)) { in __kexec_load_purgatory()
2375 for (i = 0; i < pi->ehdr->e_shnum; i++) { in __kexec_load_purgatory()
2423 for (i = 0; i < pi->ehdr->e_shnum; i++) { in __kexec_load_purgatory()
2482 for (i = 0; i < pi->ehdr->e_shnum; i++) { in kexec_apply_relocations()
2495 if (sechdrs[i].sh_info >= pi->ehdr->e_shnum || in kexec_apply_relocations()
2496 sechdrs[i].sh_link >= pi->ehdr->e_shnum) in kexec_apply_relocations()
2509 if (symtab->sh_link >= pi->ehdr->e_shnum) in kexec_apply_relocations()
2518 ret = arch_kexec_apply_relocations_add(pi->ehdr, in kexec_apply_relocations()
2521 ret = arch_kexec_apply_relocations(pi->ehdr, in kexec_apply_relocations()
2544 pi->ehdr = (Elf_Ehdr *)kexec_purgatory; in kexec_load_purgatory()
2546 if (memcmp(pi->ehdr->e_ident, ELFMAG, SELFMAG) != 0 in kexec_load_purgatory()
2547 || pi->ehdr->e_type != ET_REL in kexec_load_purgatory()
2548 || !elf_check_arch(pi->ehdr) in kexec_load_purgatory()
2549 || pi->ehdr->e_shentsize != sizeof(Elf_Shdr)) in kexec_load_purgatory()
2552 if (pi->ehdr->e_shoff >= kexec_purgatory_size in kexec_load_purgatory()
2553 || (pi->ehdr->e_shnum * sizeof(Elf_Shdr) > in kexec_load_purgatory()
2554 kexec_purgatory_size - pi->ehdr->e_shoff)) in kexec_load_purgatory()
2578 Elf_Ehdr *ehdr; in kexec_purgatory_find_symbol() local
2582 if (!pi->sechdrs || !pi->ehdr) in kexec_purgatory_find_symbol()
2586 ehdr = pi->ehdr; in kexec_purgatory_find_symbol()
2588 for (i = 0; i < ehdr->e_shnum; i++) { in kexec_purgatory_find_symbol()
2592 if (sechdrs[i].sh_link >= ehdr->e_shnum) in kexec_purgatory_find_symbol()
2607 syms[k].st_shndx >= ehdr->e_shnum) { in kexec_purgatory_find_symbol()