Lines Matching refs:mod

25 		       const struct module *mod)
29 if (!mod)
32 ks = lookup_exported_symbol(name, mod->syms, mod->syms + mod->num_syms);
113 void layout_symtab(struct module *mod, struct load_info *info)
119 struct module_memory *mod_mem_data = &mod->mem[MOD_DATA];
120 struct module_memory *mod_mem_init_data = &mod->mem[MOD_INIT_DATA];
124 symsect->sh_entsize = module_get_offset_and_type(mod, MOD_INIT_DATA,
133 if (i == 0 || is_livepatch_module(mod) ||
151 strsect->sh_entsize = module_get_offset_and_type(mod, MOD_INIT_DATA,
170 void add_kallsyms(struct module *mod, const struct load_info *info)
178 void *data_base = mod->mem[MOD_DATA].base;
179 void *init_data_base = mod->mem[MOD_INIT_DATA].base;
194 mod->core_kallsyms.symtab = dst = data_base + info->symoffs;
195 mod->core_kallsyms.strtab = s = data_base + info->stroffs;
196 mod->core_kallsyms.typetab = data_base + info->core_typeoffs;
201 if (i == 0 || is_livepatch_module(mod) ||
206 mod->core_kallsyms.typetab[ndst] =
209 dst[ndst++].st_name = s - mod->core_kallsyms.strtab;
220 rcu_assign_pointer(mod->kallsyms, kallsyms);
221 mod->core_kallsyms.num_symtab = ndst;
225 void init_build_id(struct module *mod, const struct load_info *info)
233 !build_id_parse_buf((void *)sechdr->sh_addr, mod->build_id,
239 void init_build_id(struct module *mod, const struct load_info *info)
253 static const char *find_kallsyms_symbol(struct module *mod,
260 struct mod_kallsyms *kallsyms = rcu_dereference(mod->kallsyms);
264 if (within_module_init(addr, mod))
265 mod_mem = &mod->mem[MOD_INIT_TEXT];
267 mod_mem = &mod->mem[MOD_TEXT];
311 void * __weak dereference_module_function_descriptor(struct module *mod,
330 struct module *mod;
333 mod = __module_address(addr);
334 if (mod) {
336 *modname = mod->name;
339 *modbuildid = mod->build_id;
345 sym = find_kallsyms_symbol(mod, addr, size, offset);
355 struct module *mod;
358 list_for_each_entry_rcu(mod, &modules, list) {
359 if (mod->state == MODULE_STATE_UNFORMED)
361 if (within_module(addr, mod)) {
364 sym = find_kallsyms_symbol(mod, addr, NULL, NULL);
379 struct module *mod;
382 list_for_each_entry_rcu(mod, &modules, list) {
385 if (mod->state == MODULE_STATE_UNFORMED)
387 kallsyms = rcu_dereference(mod->kallsyms);
394 strscpy(module_name, mod->name, MODULE_NAME_LEN);
395 *exported = is_exported(name, *value, mod);
404 static unsigned long __find_kallsyms_symbol_value(struct module *mod, const char *name)
407 struct mod_kallsyms *kallsyms = rcu_dereference(mod->kallsyms);
421 struct module *mod;
426 mod = find_module_all(name, colon - name, false);
427 if (mod)
428 return __find_kallsyms_symbol_value(mod, colon + 1);
432 list_for_each_entry_rcu(mod, &modules, list) {
435 if (mod->state == MODULE_STATE_UNFORMED)
437 ret = __find_kallsyms_symbol_value(mod, name);
452 unsigned long find_kallsyms_symbol_value(struct module *mod, const char *name)
455 return __find_kallsyms_symbol_value(mod, name);
462 struct module *mod;
467 list_for_each_entry(mod, &modules, list) {
470 if (mod->state == MODULE_STATE_UNFORMED)
473 if (modname && strcmp(modname, mod->name))
476 kallsyms = rcu_dereference_check(mod->kallsyms,