Lines Matching refs:kallsyms

182 	mod->kallsyms = (void __rcu *)init_data_base +  in add_kallsyms()
187 rcu_dereference(mod->kallsyms)->symtab = (void *)symsec->sh_addr; in add_kallsyms()
188 rcu_dereference(mod->kallsyms)->num_symtab = symsec->sh_size / sizeof(Elf_Sym); in add_kallsyms()
190 rcu_dereference(mod->kallsyms)->strtab = in add_kallsyms()
192 rcu_dereference(mod->kallsyms)->typetab = init_data_base + info->init_typeoffs; in add_kallsyms()
202 src = rcu_dereference(mod->kallsyms)->symtab; in add_kallsyms()
203 for (ndst = i = 0; i < rcu_dereference(mod->kallsyms)->num_symtab; i++) { in add_kallsyms()
204 rcu_dereference(mod->kallsyms)->typetab[i] = elf_type(src + i, info); in add_kallsyms()
211 rcu_dereference(mod->kallsyms)->typetab[i]; in add_kallsyms()
215 &rcu_dereference(mod->kallsyms)->strtab[src[i].st_name], in add_kallsyms()
247 static const char *kallsyms_symbol_name(struct mod_kallsyms *kallsyms, unsigned int symnum) in kallsyms_symbol_name() argument
249 return kallsyms->strtab + kallsyms->symtab[symnum].st_name; in kallsyms_symbol_name()
263 struct mod_kallsyms *kallsyms = rcu_dereference_sched(mod->kallsyms); in find_kallsyms_symbol() local
274 bestval = kallsyms_symbol_value(&kallsyms->symtab[best]); in find_kallsyms_symbol()
280 for (i = 1; i < kallsyms->num_symtab; i++) { in find_kallsyms_symbol()
281 const Elf_Sym *sym = &kallsyms->symtab[i]; in find_kallsyms_symbol()
291 if (*kallsyms_symbol_name(kallsyms, i) == '\0' || in find_kallsyms_symbol()
292 is_mapping_symbol(kallsyms_symbol_name(kallsyms, i))) in find_kallsyms_symbol()
311 return kallsyms_symbol_name(kallsyms, best); in find_kallsyms_symbol()
391 struct mod_kallsyms *kallsyms; in module_get_kallsym() local
395 kallsyms = rcu_dereference_sched(mod->kallsyms); in module_get_kallsym()
396 if (symnum < kallsyms->num_symtab) { in module_get_kallsym()
397 const Elf_Sym *sym = &kallsyms->symtab[symnum]; in module_get_kallsym()
400 *type = kallsyms->typetab[symnum]; in module_get_kallsym()
401 strscpy(name, kallsyms_symbol_name(kallsyms, symnum), KSYM_NAME_LEN); in module_get_kallsym()
407 symnum -= kallsyms->num_symtab; in module_get_kallsym()
417 struct mod_kallsyms *kallsyms = rcu_dereference_sched(mod->kallsyms); in __find_kallsyms_symbol_value() local
419 for (i = 0; i < kallsyms->num_symtab; i++) { in __find_kallsyms_symbol_value()
420 const Elf_Sym *sym = &kallsyms->symtab[i]; in __find_kallsyms_symbol_value()
422 if (strcmp(name, kallsyms_symbol_name(kallsyms, i)) == 0 && in __find_kallsyms_symbol_value()
486 struct mod_kallsyms *kallsyms; in module_kallsyms_on_each_symbol() local
496 kallsyms = rcu_dereference_sched(mod->kallsyms); in module_kallsyms_on_each_symbol()
499 for (i = 0; i < kallsyms->num_symtab; i++) { in module_kallsyms_on_each_symbol()
500 const Elf_Sym *sym = &kallsyms->symtab[i]; in module_kallsyms_on_each_symbol()
505 ret = fn(data, kallsyms_symbol_name(kallsyms, i), in module_kallsyms_on_each_symbol()