| /linux-6.15/kernel/ |
| H A D | kexec_elf.c | 264 if (!elf_info->proghdrs) in elf_read_phdrs() 272 kfree(elf_info->proghdrs); in elf_read_phdrs() 273 elf_info->proghdrs = NULL; in elf_read_phdrs() 306 elf_info->buffer = buf; in elf_read_from_buffer() 307 elf_info->ehdr = ehdr; in elf_read_from_buffer() 321 kfree(elf_info->proghdrs); in kexec_free_elf_info() 322 memset(elf_info, 0, sizeof(*elf_info)); in kexec_free_elf_info() 360 kexec_free_elf_info(elf_info); in kexec_build_elf_info() 368 struct kexec_elf_info elf_info; in kexec_elf_probe() local 375 kexec_free_elf_info(&elf_info); in kexec_elf_probe() [all …]
|
| /linux-6.15/scripts/mod/ |
| H A D | modpost.h | 138 struct elf_info { struct 164 static inline unsigned int get_secindex(const struct elf_info *info, in get_secindex() argument 193 static inline bool is_valid_name(struct elf_info *elf, Elf_Sym *sym) in is_valid_name() 203 void symsearch_init(struct elf_info *elf); 204 void symsearch_finish(struct elf_info *elf); 205 Elf_Sym *symsearch_find_nearest(struct elf_info *elf, Elf_Addr addr, 210 void handle_moddevtable(struct module *mod, struct elf_info *info, 222 void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym);
|
| H A D | symsearch.c | 50 static unsigned int symbol_count(struct elf_info *elf) in symbol_count() 68 static void symsearch_populate(struct elf_info *elf, in symsearch_populate() 124 void symsearch_init(struct elf_info *elf) in symsearch_init() 139 void symsearch_finish(struct elf_info *elf) in symsearch_finish() 153 Elf_Sym *symsearch_find_nearest(struct elf_info *elf, Elf_Addr addr, in symsearch_find_nearest()
|
| H A D | modpost.c | 316 static void *sym_get_data_by_offset(const struct elf_info *info, in sym_get_data_by_offset() 324 void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym) in sym_get_data() 403 static int parse_elf(struct elf_info *info, const char *filename) in parse_elf() 576 static void parse_elf_finish(struct elf_info *info) in parse_elf_finish() 611 static void handle_symbol(struct module *mod, struct elf_info *info, in handle_symbol() 694 static char *get_modinfo(struct elf_info *info, const char *tag) in get_modinfo() 700 static const char *sym_name(struct elf_info *elf, Elf_Sym *sym) in sym_name() 975 static Elf_Sym *find_fromsym(struct elf_info *elf, Elf_Addr addr, in find_fromsym() 1329 static void section_rela(struct module *mod, struct elf_info *elf, in section_rela() 1371 static void section_rel(struct module *mod, struct elf_info *elf, in section_rel() [all …]
|
| H A D | file2alias.c | 1474 void handle_moddevtable(struct module *mod, struct elf_info *info, in handle_moddevtable()
|
| /linux-6.15/arch/powerpc/kexec/ |
| H A D | elf_64.c | 41 struct kexec_elf_info elf_info; in elf64_load() local 48 ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info); in elf64_load() 60 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); in elf64_load() 143 slave_code = elf_info.buffer + elf_info.proghdrs[0].p_offset; in elf64_load() 156 kexec_free_elf_info(&elf_info); in elf64_load()
|
| /linux-6.15/arch/parisc/kernel/ |
| H A D | kexec_file.c | 24 struct kexec_elf_info elf_info; in elf_load() local 28 ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info); in elf_load() 32 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); in elf_load() 36 image->start = __pa(elf_info.ehdr->e_entry); in elf_load()
|
| /linux-6.15/arch/riscv/kernel/ |
| H A D | elf_kexec.c | 38 struct kexec_elf_info *elf_info, unsigned long old_pbase, in riscv_kexec_elf_load() argument 50 phdr = &elf_info->proghdrs[i]; in riscv_kexec_elf_load() 58 kbuf.buffer = (void *) elf_info->buffer + phdr->p_offset; in riscv_kexec_elf_load() 77 struct elfhdr *ehdr, struct kexec_elf_info *elf_info, in elf_find_pbase() argument 88 phdr = &elf_info->proghdrs[i]; in elf_find_pbase() 209 struct kexec_elf_info elf_info; in elf_kexec_load() local 212 ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info); in elf_kexec_load() 216 ret = elf_find_pbase(image, kernel_len, &ehdr, &elf_info, in elf_kexec_load() 223 ret = riscv_kexec_elf_load(image, &ehdr, &elf_info, in elf_kexec_load() 335 kexec_free_elf_info(&elf_info); in elf_kexec_load()
|
| /linux-6.15/arch/powerpc/boot/ |
| H A D | elf.h | 150 struct elf_info { struct 155 int parse_elf64(void *hdr, struct elf_info *info); argument 156 int parse_elf32(void *hdr, struct elf_info *info);
|
| H A D | elf_util.c | 14 int parse_elf64(void *hdr, struct elf_info *info) in parse_elf64() 50 int parse_elf32(void *hdr, struct elf_info *info) in parse_elf32()
|
| H A D | main.c | 29 struct elf_info ei; in prep_kernel()
|
| /linux-6.15/include/linux/ |
| H A D | kexec.h | 291 struct kexec_elf_info *elf_info); 294 struct kexec_elf_info *elf_info, 298 void kexec_free_elf_info(struct kexec_elf_info *elf_info);
|
| /linux-6.15/fs/ |
| H A D | binfmt_elf_fdpic.c | 510 elf_addr_t *elf_info; in create_elf_fdpic_tables() local 609 elf_info = (elf_addr_t *)mm->saved_auxv; in create_elf_fdpic_tables() 613 *elf_info++ = id; \ in create_elf_fdpic_tables() 614 *elf_info++ = val; \ in create_elf_fdpic_tables() 662 memset(elf_info, 0, (char *)mm->saved_auxv + in create_elf_fdpic_tables() 663 sizeof(mm->saved_auxv) - (char *)elf_info); in create_elf_fdpic_tables() 666 elf_info += 2; in create_elf_fdpic_tables() 668 ei_index = elf_info - (elf_addr_t *)mm->saved_auxv; in create_elf_fdpic_tables()
|
| H A D | binfmt_elf.c | 172 elf_addr_t *elf_info; in create_elf_tables() local 224 elf_info = (elf_addr_t *)mm->saved_auxv; in create_elf_tables() 228 *elf_info++ = id; \ in create_elf_tables() 229 *elf_info++ = val; \ in create_elf_tables() 285 memset(elf_info, 0, (char *)mm->saved_auxv + in create_elf_tables() 286 sizeof(mm->saved_auxv) - (char *)elf_info); in create_elf_tables() 289 elf_info += 2; in create_elf_tables() 291 ei_index = elf_info - (elf_addr_t *)mm->saved_auxv; in create_elf_tables()
|