Lines Matching refs:mod_map
7373 struct ftrace_mod_map *mod_map = container_of(rcu, struct ftrace_mod_map, rcu); in ftrace_free_mod_map() local
7378 list_for_each_entry_safe(mod_func, n, &mod_map->funcs, list) { in ftrace_free_mod_map()
7384 kfree(mod_map); in ftrace_free_mod_map()
7389 struct ftrace_mod_map *mod_map; in ftrace_release_mod() local
7401 list_for_each_entry_safe(mod_map, n, &ftrace_mod_maps, list) { in ftrace_release_mod()
7402 if (mod_map->mod == mod) { in ftrace_release_mod()
7403 list_del_rcu(&mod_map->list); in ftrace_release_mod()
7404 call_rcu(&mod_map->rcu, ftrace_free_mod_map); in ftrace_release_mod()
7549 static void save_ftrace_mod_rec(struct ftrace_mod_map *mod_map, in save_ftrace_mod_rec() argument
7576 mod_map->num_funcs++; in save_ftrace_mod_rec()
7578 list_add_rcu(&mod_func->list, &mod_map->funcs); in save_ftrace_mod_rec()
7585 struct ftrace_mod_map *mod_map; in allocate_ftrace_mod_map() local
7587 mod_map = kmalloc(sizeof(*mod_map), GFP_KERNEL); in allocate_ftrace_mod_map()
7588 if (!mod_map) in allocate_ftrace_mod_map()
7591 mod_map->mod = mod; in allocate_ftrace_mod_map()
7592 mod_map->start_addr = start; in allocate_ftrace_mod_map()
7593 mod_map->end_addr = end; in allocate_ftrace_mod_map()
7594 mod_map->num_funcs = 0; in allocate_ftrace_mod_map()
7596 INIT_LIST_HEAD_RCU(&mod_map->funcs); in allocate_ftrace_mod_map()
7598 list_add_rcu(&mod_map->list, &ftrace_mod_maps); in allocate_ftrace_mod_map()
7600 return mod_map; in allocate_ftrace_mod_map()
7604 ftrace_func_address_lookup(struct ftrace_mod_map *mod_map, in ftrace_func_address_lookup() argument
7611 list_for_each_entry_rcu(mod_func, &mod_map->funcs, list) { in ftrace_func_address_lookup()
7634 struct ftrace_mod_map *mod_map; in ftrace_mod_address_lookup() local
7639 list_for_each_entry_rcu(mod_map, &ftrace_mod_maps, list) { in ftrace_mod_address_lookup()
7640 ret = ftrace_func_address_lookup(mod_map, addr, size, off, sym); in ftrace_mod_address_lookup()
7643 *modname = mod_map->mod->name; in ftrace_mod_address_lookup()
7656 struct ftrace_mod_map *mod_map; in ftrace_mod_get_kallsym() local
7661 list_for_each_entry_rcu(mod_map, &ftrace_mod_maps, list) { in ftrace_mod_get_kallsym()
7663 if (symnum >= mod_map->num_funcs) { in ftrace_mod_get_kallsym()
7664 symnum -= mod_map->num_funcs; in ftrace_mod_get_kallsym()
7668 list_for_each_entry_rcu(mod_func, &mod_map->funcs, list) { in ftrace_mod_get_kallsym()
7677 strscpy(module_name, mod_map->mod->name, MODULE_NAME_LEN); in ftrace_mod_get_kallsym()
7692 static void save_ftrace_mod_rec(struct ftrace_mod_map *mod_map, in save_ftrace_mod_rec() argument
7776 struct ftrace_mod_map *mod_map = NULL; in ftrace_free_mem() local
7791 mod_map = allocate_ftrace_mod_map(mod, start, end); in ftrace_free_mem()
7807 if (mod_map) in ftrace_free_mem()
7808 save_ftrace_mod_rec(mod_map, rec); in ftrace_free_mem()