Lines Matching defs:kallsyms

3  * Module kallsyms support
10 #include <linux/kallsyms.h>
180 struct mod_kallsyms *kallsyms;
182 kallsyms = init_data_base + info->mod_kallsyms_init_off;
184 kallsyms->symtab = (void *)symsec->sh_addr;
185 kallsyms->num_symtab = symsec->sh_size / sizeof(Elf_Sym);
187 kallsyms->strtab = (void *)info->sechdrs[info->index.str].sh_addr;
188 kallsyms->typetab = init_data_base + info->init_typeoffs;
191 * Now populate the cut down core kallsyms for after init
198 src = kallsyms->symtab;
199 for (ndst = i = 0; i < kallsyms->num_symtab; i++) {
200 kallsyms->typetab[i] = elf_type(src + i, info);
207 kallsyms->typetab[i];
210 ret = strscpy(s, &kallsyms->strtab[src[i].st_name],
220 rcu_assign_pointer(mod->kallsyms, kallsyms);
244 static const char *kallsyms_symbol_name(struct mod_kallsyms *kallsyms, unsigned int symnum)
246 return kallsyms->strtab + kallsyms->symtab[symnum].st_name;
260 struct mod_kallsyms *kallsyms = rcu_dereference(mod->kallsyms);
271 bestval = kallsyms_symbol_value(&kallsyms->symtab[best]);
277 for (i = 1; i < kallsyms->num_symtab; i++) {
278 const Elf_Sym *sym = &kallsyms->symtab[i];
288 if (*kallsyms_symbol_name(kallsyms, i) == '\0' ||
289 is_mapping_symbol(kallsyms_symbol_name(kallsyms, i)))
308 return kallsyms_symbol_name(kallsyms, best);
318 * For kallsyms to ask for address resolution. NULL means not found. Careful
383 struct mod_kallsyms *kallsyms;
387 kallsyms = rcu_dereference(mod->kallsyms);
388 if (symnum < kallsyms->num_symtab) {
389 const Elf_Sym *sym = &kallsyms->symtab[symnum];
392 *type = kallsyms->typetab[symnum];
393 strscpy(name, kallsyms_symbol_name(kallsyms, symnum), KSYM_NAME_LEN);
398 symnum -= kallsyms->num_symtab;
407 struct mod_kallsyms *kallsyms = rcu_dereference(mod->kallsyms);
409 for (i = 0; i < kallsyms->num_symtab; i++) {
410 const Elf_Sym *sym = &kallsyms->symtab[i];
412 if (strcmp(name, kallsyms_symbol_name(kallsyms, i)) == 0 &&
468 struct mod_kallsyms *kallsyms;
476 kallsyms = rcu_dereference_check(mod->kallsyms,
479 for (i = 0; i < kallsyms->num_symtab; i++) {
480 const Elf_Sym *sym = &kallsyms->symtab[i];
485 ret = fn(data, kallsyms_symbol_name(kallsyms, i),