Searched refs:sechdrs (Results 26 - 50 of 57) sorted by path

123

/linux-master/arch/powerpc/kernel/
H A Dmodule_64.c208 const Elf64_Shdr *sechdrs)
216 if (sechdrs[i].sh_type == SHT_RELA) {
219 (void *)sechdrs[i].sh_addr,
220 sechdrs[i].sh_size / sizeof(Elf64_Rela));
227 sort((void *)sechdrs[i].sh_addr,
228 sechdrs[i].sh_size / sizeof(Elf64_Rela),
231 relocs += count_relocs((void *)sechdrs[i].sh_addr,
232 sechdrs[i].sh_size
236 relocs += count_relocs((void *)sechdrs[i].sh_addr,
237 sechdrs[
207 get_stubs_size(const Elf64_Ehdr *hdr, const Elf64_Shdr *sechdrs) argument
258 count_pcpu_relocs(const Elf64_Shdr *sechdrs, const Elf64_Rela *rela, unsigned int num, unsigned int symindex, unsigned int pcpu) argument
288 get_got_size(const Elf64_Ehdr *hdr, const Elf64_Shdr *sechdrs, struct module *me) argument
378 find_dot_toc(Elf64_Shdr *sechdrs, const char *strtab, unsigned int symindex) argument
403 module_frob_arch_sections(Elf64_Ehdr *hdr, Elf64_Shdr *sechdrs, char *secstrings, struct module *me) argument
580 my_r2(const Elf64_Shdr *sechdrs, struct module *me) argument
590 create_stub(const Elf64_Shdr *sechdrs, struct ppc64_stub_entry *entry, unsigned long addr, struct module *me, const char *name) argument
667 stub_for_addr(const Elf64_Shdr *sechdrs, unsigned long addr, struct module *me, const char *name) argument
695 got_for_addr(const Elf64_Shdr *sechdrs, unsigned long addr, struct module *me, const char *name) argument
764 apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, unsigned int symindex, unsigned int relsec, struct module *me) argument
1089 module_finalize_ftrace(struct module *mod, const Elf_Shdr *sechdrs) argument
[all...]
/linux-master/arch/riscv/include/asm/
H A Dmodule.h116 const Elf_Shdr *sechdrs,
120 const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
122 for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) {
115 find_section(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, const char *name) argument
/linux-master/arch/riscv/kernel/
H A Delf_kexec.c378 const Elf_Shdr *sechdrs; local
383 sechdrs = (void *)pi->ehdr + pi->ehdr->e_shoff;
384 strtab = (char *)pi->ehdr + sechdrs[symtab->sh_link].sh_offset;
385 shstrtab = (char *)pi->ehdr + sechdrs[pi->ehdr->e_shstrndx].sh_offset;
402 name = shstrtab + sechdrs[sym->st_shndx].sh_name;
415 sec_base = pi->sechdrs[sym->st_shndx].sh_addr;
H A Dmodule-sections.c90 int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs, argument
101 if (!strcmp(secstrings + sechdrs[i].sh_name, ".plt"))
102 mod->arch.plt.shdr = sechdrs + i;
103 else if (!strcmp(secstrings + sechdrs[i].sh_name, ".got"))
104 mod->arch.got.shdr = sechdrs + i;
105 else if (!strcmp(secstrings + sechdrs[i].sh_name, ".got.plt"))
106 mod->arch.got_plt.shdr = sechdrs + i;
124 Elf_Rela *relas = (void *)ehdr + sechdrs[i].sh_offset;
125 int num_rela = sechdrs[i].sh_size / sizeof(Elf_Rela);
126 Elf_Shdr *dst_sec = sechdrs
[all...]
H A Dmodule.c776 int apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, argument
780 Elf_Rela *rel = (void *) sechdrs[relsec].sh_addr;
788 unsigned int num_relocations = sechdrs[relsec].sh_size / sizeof(*rel);
802 sechdrs[relsec].sh_info);
806 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr
809 sym = (Elf_Sym *)sechdrs[symindex].sh_addr
841 sechdrs[sechdrs[relsec].sh_info].sh_addr
851 (Elf_Sym *)sechdrs[syminde
907 module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *me) argument
[all...]
/linux-master/arch/s390/kernel/
H A Dmachine_kexec_file.c315 const Elf_Shdr *sechdrs; local
321 sechdrs = (void *)pi->ehdr + pi->ehdr->e_shoff;
322 strtab = (char *)pi->ehdr + sechdrs[symtab->sh_link].sh_offset;
323 shstrtab = (char *)pi->ehdr + sechdrs[pi->ehdr->e_shstrndx].sh_offset;
339 name = shstrtab + sechdrs[sym->st_shndx].sh_name;
364 val += pi->sechdrs[sym->st_shndx].sh_addr;
H A Dmodule.c106 int module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, argument
119 switch (sechdrs[i].sh_type) {
121 symtab = sechdrs + i;
136 strings = (void *) hdr + sechdrs[symtab->sh_link].sh_offset;
152 if (sechdrs[i].sh_type != SHT_RELA)
154 nrela = sechdrs[i].sh_size / sizeof(Elf_Rela);
155 rela = (void *) hdr + sechdrs[i].sh_offset;
427 static int __apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, argument
439 relsec, sechdrs[relsec].sh_info);
440 base = sechdrs[sechdr
453 apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, unsigned int symindex, unsigned int relsec, struct module *me) argument
491 module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *me) argument
[all...]
/linux-master/arch/sh/kernel/
H A Ddwarf.c1089 int module_dwarf_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, argument
1094 char *secstrings = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
1100 if ((sechdrs[i].sh_flags & SHF_ALLOC)
1101 && !strcmp(secstrings+sechdrs[i].sh_name, ".eh_frame")) {
1102 start = sechdrs[i].sh_addr;
1103 end = start + sechdrs[i].sh_size;
H A Dmodule.c24 int apply_relocate_add(Elf32_Shdr *sechdrs, argument
31 Elf32_Rela *rel = (void *)sechdrs[relsec].sh_addr;
38 sechdrs[relsec].sh_info);
39 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) {
41 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr
45 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
91 const Elf_Shdr *sechdrs,
96 ret |= module_dwarf_finalize(hdr, sechdrs, me);
90 module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *me) argument
/linux-master/arch/sparc/kernel/
H A Dmodule.c26 Elf_Shdr *sechdrs,
35 for (symidx = 0; sechdrs[symidx].sh_type != SHT_SYMTAB; symidx++) {
41 sym = (Elf_Sym *)sechdrs[symidx].sh_addr;
42 strtab = (char *)sechdrs[sechdrs[symidx].sh_link].sh_addr;
44 for (i = 1; i < sechdrs[symidx].sh_size / sizeof(Elf_Sym); i++) {
53 int apply_relocate_add(Elf_Shdr *sechdrs, argument
60 Elf_Rela *rel = (void *)sechdrs[relsec].sh_addr;
65 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) {
69 location = (u8 *)sechdrs[sechdr
25 module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, char *secstrings, struct module *mod) argument
154 do_patch_sections(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs) argument
177 module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *me) argument
[all...]
/linux-master/arch/x86/kernel/
H A Dmachine_kexec_64.c394 const Elf_Shdr *sechdrs; local
397 sechdrs = (void *)pi->ehdr + pi->ehdr->e_shoff;
398 strtab = (char *)pi->ehdr + sechdrs[symtabsec->sh_link].sh_offset;
399 shstrtab = (char *)pi->ehdr + sechdrs[pi->ehdr->e_shstrndx].sh_offset;
437 name = shstrtab + sechdrs[sym->st_shndx].sh_name;
460 sec_base = pi->sechdrs[sym->st_shndx].sh_addr;
H A Dmodule.c40 int apply_relocate(Elf32_Shdr *sechdrs, argument
47 Elf32_Rel *rel = (void *)sechdrs[relsec].sh_addr;
52 relsec, sechdrs[relsec].sh_info);
53 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) {
55 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr
59 sym = (Elf32_Sym *)sechdrs[symindex].sh_addr
81 static int __write_relocate_add(Elf64_Shdr *sechdrs, argument
90 Elf64_Rela *rel = (void *)sechdrs[relsec].sh_addr;
98 relsec, sechdrs[relse
174 write_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, unsigned int symindex, unsigned int relsec, struct module *me, bool apply) argument
201 apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, unsigned int symindex, unsigned int relsec, struct module *me) argument
211 clear_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, unsigned int symindex, unsigned int relsec, struct module *me) argument
223 module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *me) argument
[all...]
/linux-master/include/linux/
H A Dcfi.h40 void module_cfi_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs,
44 const Elf_Shdr *sechdrs,
43 module_cfi_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *mod) argument
H A Dkexec.h115 * Temporary, modifiable buffer for sechdrs used for relocation.
118 Elf_Shdr *sechdrs; member in struct:purgatory_info
H A Dlivepatch.h233 int klp_apply_section_relocs(struct module *pmod, Elf_Shdr *sechdrs,
247 int klp_apply_section_relocs(struct module *pmod, Elf_Shdr *sechdrs, argument
H A Dmodule.h390 * @sechdrs: Section header table
396 Elf_Shdr *sechdrs; member in struct:klp_modinfo
890 const Elf_Shdr *sechdrs,
889 module_bug_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *mod) argument
H A Dmoduleloader.h21 Elf_Shdr *sechdrs,
48 int apply_relocate(Elf_Shdr *sechdrs,
54 static inline int apply_relocate(Elf_Shdr *sechdrs, argument
71 int apply_relocate_add(Elf_Shdr *sechdrs,
87 void clear_relocate_add(Elf_Shdr *sechdrs,
94 static inline int apply_relocate_add(Elf_Shdr *sechdrs, argument
108 const Elf_Shdr *sechdrs,
/linux-master/kernel/
H A Dcfi.c48 void module_cfi_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, argument
57 secstrings = (char *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
60 if (strcmp(secstrings + sechdrs[i].sh_name, "__kcfi_traps"))
63 mod->kcfi_traps = (s32 *)sechdrs[i].sh_addr;
64 mod->kcfi_traps_end = (s32 *)(sechdrs[i].sh_addr + sechdrs[i].sh_size);
H A Dkexec_file.c108 vfree(pi->sechdrs);
109 pi->sechdrs = NULL;
837 const Elf_Shdr *sechdrs; local
843 sechdrs = (void *)pi->ehdr + pi->ehdr->e_shoff;
848 if (!(sechdrs[i].sh_flags & SHF_ALLOC))
851 align = sechdrs[i].sh_addralign;
852 if (sechdrs[i].sh_type != SHT_NOBITS) {
856 kbuf->bufsz += sechdrs[i].sh_size;
861 bss_sz += sechdrs[i].sh_size;
886 * kexec_purgatory_setup_sechdrs - prepares the pi->sechdrs buffe
901 Elf_Shdr *sechdrs; local
971 const Elf_Shdr *sechdrs; local
1080 const Elf_Shdr *sechdrs; local
[all...]
/linux-master/kernel/livepatch/
H A Dcore.c192 static int klp_resolve_symbols(Elf_Shdr *sechdrs, const char *strtab, argument
220 sym = (Elf_Sym *)sechdrs[symndx].sh_addr + ELF_R_SYM(relas[i].r_info);
263 void __weak clear_relocate_add(Elf_Shdr *sechdrs, argument
294 static int klp_write_section_relocs(struct module *pmod, Elf_Shdr *sechdrs, argument
301 Elf_Shdr *sec = sechdrs + secndx;
320 ret = klp_resolve_symbols(sechdrs, strtab, symndx,
325 return apply_relocate_add(sechdrs, strtab, symndx, secndx, pmod);
328 clear_relocate_add(sechdrs, strtab, symndx, secndx, pmod);
332 int klp_apply_section_relocs(struct module *pmod, Elf_Shdr *sechdrs, argument
337 return klp_write_section_relocs(pmod, sechdrs, shstrta
[all...]
/linux-master/kernel/module/
H A Ddebug_kmemleak.c22 if (!(info->sechdrs[i].sh_flags & SHF_ALLOC) ||
23 !(info->sechdrs[i].sh_flags & SHF_WRITE) ||
24 (info->sechdrs[i].sh_flags & SHF_EXECINSTR))
27 kmemleak_scan_area((void *)info->sechdrs[i].sh_addr,
28 info->sechdrs[i].sh_size, GFP_KERNEL);
H A Dinternal.h67 Elf_Shdr *sechdrs; member in struct:load_info
328 int module_enforce_rwx_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs,
H A Dkallsyms.c40 const Elf_Shdr *sechdrs = info->sechdrs; local
54 if (sechdrs[sym->st_shndx].sh_flags & SHF_EXECINSTR)
56 if (sechdrs[sym->st_shndx].sh_flags & SHF_ALLOC &&
57 sechdrs[sym->st_shndx].sh_type != SHT_NOBITS) {
58 if (!(sechdrs[sym->st_shndx].sh_flags & SHF_WRITE))
60 else if (sechdrs[sym->st_shndx].sh_flags & ARCH_SHF_SMALL)
65 if (sechdrs[sym->st_shndx].sh_type == SHT_NOBITS) {
66 if (sechdrs[sym->st_shndx].sh_flags & ARCH_SHF_SMALL)
71 if (strstarts(info->secstrings + sechdrs[sy
78 is_core_symbol(const Elf_Sym *src, const Elf_Shdr *sechdrs, unsigned int shnum, unsigned int pcpundx) argument
[all...]
H A Dlivepatch.c33 size = sizeof(*info->sechdrs) * info->hdr->e_shnum;
34 mod->klp_info->sechdrs = kmemdup(info->sechdrs, size, GFP_KERNEL);
35 if (!mod->klp_info->sechdrs) {
41 size = info->sechdrs[info->hdr->e_shstrndx].sh_size;
58 mod->klp_info->sechdrs[symndx].sh_addr = (unsigned long)mod->core_kallsyms.symtab;
63 kfree(mod->klp_info->sechdrs);
71 kfree(mod->klp_info->sechdrs);
H A Dmain.c189 Elf_Shdr *shdr = &info->sechdrs[i];
202 return (void *)info->sechdrs[find_sec(info, name)].sh_addr;
214 *num = info->sechdrs[sec].sh_size / object_size;
215 return (void *)info->sechdrs[sec].sh_addr;
224 Elf_Shdr *shdr = &info->sechdrs[i];
243 *num = info->sechdrs[sec].sh_size / object_size;
244 return (void *)info->sechdrs[sec].sh_addr;
379 Elf_Shdr *pcpusec = &info->sechdrs[info->index.pcpu];
475 if (info->sechdrs[info->index.pcpu].sh_size != 0)
1038 Elf_Shdr *infosec = &info->sechdrs[inf
2340 module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, char *secstrings, struct module *mod) argument
2435 module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *me) argument
[all...]

Completed in 292 milliseconds

123