• Home
  • Raw
  • Download

Lines Matching refs:sym

506 	const struct kernel_symbol *sym;  member
540 fsa->sym = &syms->start[symnum]; in check_exported_symbol()
545 static unsigned long kernel_symbol_value(const struct kernel_symbol *sym) in kernel_symbol_value() argument
548 return (unsigned long)offset_to_ptr(&sym->value_offset); in kernel_symbol_value()
550 return sym->value; in kernel_symbol_value()
554 static const char *kernel_symbol_name(const struct kernel_symbol *sym) in kernel_symbol_name() argument
557 return offset_to_ptr(&sym->name_offset); in kernel_symbol_name()
559 return sym->name; in kernel_symbol_name()
563 static const char *kernel_symbol_namespace(const struct kernel_symbol *sym) in kernel_symbol_namespace() argument
566 if (!sym->namespace_offset) in kernel_symbol_namespace()
568 return offset_to_ptr(&sym->namespace_offset); in kernel_symbol_namespace()
570 return sym->namespace; in kernel_symbol_namespace()
574 static int cmp_name(const void *name, const void *sym) in cmp_name() argument
576 return strcmp(name, kernel_symbol_name(sym)); in cmp_name()
584 struct kernel_symbol *sym; in find_exported_symbol_in_section() local
586 sym = bsearch(fsa->name, syms->start, syms->stop - syms->start, in find_exported_symbol_in_section()
589 if (sym != NULL && check_exported_symbol(syms, owner, in find_exported_symbol_in_section()
590 sym - syms->start, data)) in find_exported_symbol_in_section()
618 return fsa.sym; in find_symbol()
1415 const struct kernel_symbol *sym, in verify_namespace_is_imported() argument
1421 namespace = kernel_symbol_namespace(sym); in verify_namespace_is_imported()
1436 mod->name, kernel_symbol_name(sym), namespace); in verify_namespace_is_imported()
1470 const struct kernel_symbol *sym; in resolve_symbol() local
1482 sym = find_symbol(name, &owner, &crc, &license, in resolve_symbol()
1484 if (!sym) in resolve_symbol()
1491 sym = NULL; in resolve_symbol()
1496 sym = ERR_PTR(-EINVAL); in resolve_symbol()
1500 err = verify_namespace_is_imported(info, sym, mod); in resolve_symbol()
1502 sym = ERR_PTR(err); in resolve_symbol()
1508 sym = ERR_PTR(err); in resolve_symbol()
1517 return sym; in resolve_symbol()
2164 symndx = info->index.sym; in copy_module_elf()
2289 const struct kernel_symbol *sym; in __symbol_get() local
2292 sym = find_symbol(symbol, &owner, NULL, &license, true, true); in __symbol_get()
2293 if (!sym) in __symbol_get()
2301 sym = NULL; in __symbol_get()
2304 return sym ? (void *)kernel_symbol_value(sym) : NULL; in __symbol_get()
2332 const struct kernel_symbol *sym; in verify_exported_symbols() member
2345 for (s = arr[i].sym; s < arr[i].sym + arr[i].num; s++) { in verify_exported_symbols()
2377 Elf_Shdr *symsec = &info->sechdrs[info->index.sym]; in simplify_symbols()
2378 Elf_Sym *sym = (void *)symsec->sh_addr; in simplify_symbols() local
2385 const char *name = info->strtab + sym[i].st_name; in simplify_symbols()
2387 switch (sym[i].st_shndx) { in simplify_symbols()
2404 (long)sym[i].st_value); in simplify_symbols()
2415 sym[i].st_value = kernel_symbol_value(ksym); in simplify_symbols()
2421 (ELF_ST_BIND(sym[i].st_info) == STB_WEAK || in simplify_symbols()
2432 if (sym[i].st_shndx == info->index.pcpu) in simplify_symbols()
2435 secbase = info->sechdrs[sym[i].st_shndx].sh_addr; in simplify_symbols()
2436 sym[i].st_value += secbase; in simplify_symbols()
2465 info->index.sym, i, in apply_relocations()
2469 info->index.sym, i, mod); in apply_relocations()
2472 info->index.sym, i, mod); in apply_relocations()
2701 static char elf_type(const Elf_Sym *sym, const struct load_info *info) in elf_type() argument
2705 if (ELF_ST_BIND(sym->st_info) == STB_WEAK) { in elf_type()
2706 if (ELF_ST_TYPE(sym->st_info) == STT_OBJECT) in elf_type()
2711 if (sym->st_shndx == SHN_UNDEF) in elf_type()
2713 if (sym->st_shndx == SHN_ABS || sym->st_shndx == info->index.pcpu) in elf_type()
2715 if (sym->st_shndx >= SHN_LORESERVE) in elf_type()
2717 if (sechdrs[sym->st_shndx].sh_flags & SHF_EXECINSTR) in elf_type()
2719 if (sechdrs[sym->st_shndx].sh_flags & SHF_ALLOC in elf_type()
2720 && sechdrs[sym->st_shndx].sh_type != SHT_NOBITS) { in elf_type()
2721 if (!(sechdrs[sym->st_shndx].sh_flags & SHF_WRITE)) in elf_type()
2723 else if (sechdrs[sym->st_shndx].sh_flags & ARCH_SHF_SMALL) in elf_type()
2728 if (sechdrs[sym->st_shndx].sh_type == SHT_NOBITS) { in elf_type()
2729 if (sechdrs[sym->st_shndx].sh_flags & ARCH_SHF_SMALL) in elf_type()
2734 if (strstarts(info->secstrings + sechdrs[sym->st_shndx].sh_name, in elf_type()
2776 Elf_Shdr *symsect = info->sechdrs + info->index.sym; in layout_symtab()
2784 info->index.sym) | INIT_OFFSET_MASK; in layout_symtab()
2835 Elf_Shdr *symsec = &info->sechdrs[info->index.sym]; in add_kallsyms()
3240 info->index.sym = i; in setup_load_info()
3248 if (info->index.sym == 0) { in setup_load_info()
4309 const Elf_Sym *sym = &kallsyms->symtab[i]; in find_kallsyms_symbol() local
4310 unsigned long thisval = kallsyms_symbol_value(sym); in find_kallsyms_symbol()
4312 if (sym->st_shndx == SHN_UNDEF) in find_kallsyms_symbol()
4385 const char *sym; in lookup_module_symbol_name() local
4387 sym = find_kallsyms_symbol(mod, addr, NULL, NULL); in lookup_module_symbol_name()
4388 if (!sym) in lookup_module_symbol_name()
4391 strlcpy(symname, sym, KSYM_NAME_LEN); in lookup_module_symbol_name()
4411 const char *sym; in lookup_module_symbol_attrs() local
4413 sym = find_kallsyms_symbol(mod, addr, size, offset); in lookup_module_symbol_attrs()
4414 if (!sym) in lookup_module_symbol_attrs()
4419 strlcpy(name, sym, KSYM_NAME_LEN); in lookup_module_symbol_attrs()
4442 const Elf_Sym *sym = &kallsyms->symtab[symnum]; in module_get_kallsym() local
4444 *value = kallsyms_symbol_value(sym); in module_get_kallsym()
4465 const Elf_Sym *sym = &kallsyms->symtab[i]; in find_kallsyms_symbol_value() local
4468 sym->st_shndx != SHN_UNDEF) in find_kallsyms_symbol_value()
4469 return kallsyms_symbol_value(sym); in find_kallsyms_symbol_value()
4515 const Elf_Sym *sym = &kallsyms->symtab[i]; in module_kallsyms_on_each_symbol() local
4517 if (sym->st_shndx == SHN_UNDEF) in module_kallsyms_on_each_symbol()
4521 mod, kallsyms_symbol_value(sym)); in module_kallsyms_on_each_symbol()