Lines Matching refs:kallsyms
180 struct mod_kallsyms *kallsyms; in add_kallsyms() local
182 kallsyms = init_data_base + info->mod_kallsyms_init_off; in add_kallsyms()
184 kallsyms->symtab = (void *)symsec->sh_addr; in add_kallsyms()
185 kallsyms->num_symtab = symsec->sh_size / sizeof(Elf_Sym); in add_kallsyms()
187 kallsyms->strtab = (void *)info->sechdrs[info->index.str].sh_addr; in add_kallsyms()
188 kallsyms->typetab = init_data_base + info->init_typeoffs; in add_kallsyms()
198 src = kallsyms->symtab; in add_kallsyms()
199 for (ndst = i = 0; i < kallsyms->num_symtab; i++) { in add_kallsyms()
200 kallsyms->typetab[i] = elf_type(src + i, info); in add_kallsyms()
207 kallsyms->typetab[i]; in add_kallsyms()
210 ret = strscpy(s, &kallsyms->strtab[src[i].st_name], in add_kallsyms()
220 rcu_assign_pointer(mod->kallsyms, kallsyms); in add_kallsyms()
244 static const char *kallsyms_symbol_name(struct mod_kallsyms *kallsyms, unsigned int symnum) in kallsyms_symbol_name() argument
246 return kallsyms->strtab + kallsyms->symtab[symnum].st_name; in kallsyms_symbol_name()
260 struct mod_kallsyms *kallsyms = rcu_dereference(mod->kallsyms); in find_kallsyms_symbol() local
271 bestval = kallsyms_symbol_value(&kallsyms->symtab[best]); in find_kallsyms_symbol()
277 for (i = 1; i < kallsyms->num_symtab; i++) { in find_kallsyms_symbol()
278 const Elf_Sym *sym = &kallsyms->symtab[i]; in find_kallsyms_symbol()
288 if (*kallsyms_symbol_name(kallsyms, i) == '\0' || in find_kallsyms_symbol()
289 is_mapping_symbol(kallsyms_symbol_name(kallsyms, i))) in find_kallsyms_symbol()
308 return kallsyms_symbol_name(kallsyms, best); in find_kallsyms_symbol()
383 struct mod_kallsyms *kallsyms; in module_get_kallsym() local
387 kallsyms = rcu_dereference(mod->kallsyms); in module_get_kallsym()
388 if (symnum < kallsyms->num_symtab) { in module_get_kallsym()
389 const Elf_Sym *sym = &kallsyms->symtab[symnum]; in module_get_kallsym()
392 *type = kallsyms->typetab[symnum]; in module_get_kallsym()
393 strscpy(name, kallsyms_symbol_name(kallsyms, symnum), KSYM_NAME_LEN); in module_get_kallsym()
398 symnum -= kallsyms->num_symtab; in module_get_kallsym()
407 struct mod_kallsyms *kallsyms = rcu_dereference(mod->kallsyms); in __find_kallsyms_symbol_value() local
409 for (i = 0; i < kallsyms->num_symtab; i++) { in __find_kallsyms_symbol_value()
410 const Elf_Sym *sym = &kallsyms->symtab[i]; in __find_kallsyms_symbol_value()
412 if (strcmp(name, kallsyms_symbol_name(kallsyms, i)) == 0 && in __find_kallsyms_symbol_value()
468 struct mod_kallsyms *kallsyms; in module_kallsyms_on_each_symbol() local
476 kallsyms = rcu_dereference_check(mod->kallsyms, in module_kallsyms_on_each_symbol()
479 for (i = 0; i < kallsyms->num_symtab; i++) { in module_kallsyms_on_each_symbol()
480 const Elf_Sym *sym = &kallsyms->symtab[i]; in module_kallsyms_on_each_symbol()
485 ret = fn(data, kallsyms_symbol_name(kallsyms, i), in module_kallsyms_on_each_symbol()