Lines Matching refs:mod_map
5825 struct ftrace_mod_map *mod_map = container_of(rcu, struct ftrace_mod_map, rcu); in ftrace_free_mod_map() local
5830 list_for_each_entry_safe(mod_func, n, &mod_map->funcs, list) { in ftrace_free_mod_map()
5836 kfree(mod_map); in ftrace_free_mod_map()
5841 struct ftrace_mod_map *mod_map; in ftrace_release_mod() local
5853 list_for_each_entry_safe(mod_map, n, &ftrace_mod_maps, list) { in ftrace_release_mod()
5854 if (mod_map->mod == mod) { in ftrace_release_mod()
5855 list_del_rcu(&mod_map->list); in ftrace_release_mod()
5856 call_rcu(&mod_map->rcu, ftrace_free_mod_map); in ftrace_release_mod()
5988 static void save_ftrace_mod_rec(struct ftrace_mod_map *mod_map, in save_ftrace_mod_rec() argument
6015 mod_map->num_funcs++; in save_ftrace_mod_rec()
6017 list_add_rcu(&mod_func->list, &mod_map->funcs); in save_ftrace_mod_rec()
6024 struct ftrace_mod_map *mod_map; in allocate_ftrace_mod_map() local
6026 mod_map = kmalloc(sizeof(*mod_map), GFP_KERNEL); in allocate_ftrace_mod_map()
6027 if (!mod_map) in allocate_ftrace_mod_map()
6030 mod_map->mod = mod; in allocate_ftrace_mod_map()
6031 mod_map->start_addr = start; in allocate_ftrace_mod_map()
6032 mod_map->end_addr = end; in allocate_ftrace_mod_map()
6033 mod_map->num_funcs = 0; in allocate_ftrace_mod_map()
6035 INIT_LIST_HEAD_RCU(&mod_map->funcs); in allocate_ftrace_mod_map()
6037 list_add_rcu(&mod_map->list, &ftrace_mod_maps); in allocate_ftrace_mod_map()
6039 return mod_map; in allocate_ftrace_mod_map()
6043 ftrace_func_address_lookup(struct ftrace_mod_map *mod_map, in ftrace_func_address_lookup() argument
6050 list_for_each_entry_rcu(mod_func, &mod_map->funcs, list) { in ftrace_func_address_lookup()
6076 struct ftrace_mod_map *mod_map; in ftrace_mod_address_lookup() local
6081 list_for_each_entry_rcu(mod_map, &ftrace_mod_maps, list) { in ftrace_mod_address_lookup()
6082 ret = ftrace_func_address_lookup(mod_map, addr, size, off, sym); in ftrace_mod_address_lookup()
6085 *modname = mod_map->mod->name; in ftrace_mod_address_lookup()
6098 struct ftrace_mod_map *mod_map; in ftrace_mod_get_kallsym() local
6102 list_for_each_entry_rcu(mod_map, &ftrace_mod_maps, list) { in ftrace_mod_get_kallsym()
6104 if (symnum >= mod_map->num_funcs) { in ftrace_mod_get_kallsym()
6105 symnum -= mod_map->num_funcs; in ftrace_mod_get_kallsym()
6109 list_for_each_entry_rcu(mod_func, &mod_map->funcs, list) { in ftrace_mod_get_kallsym()
6118 strlcpy(module_name, mod_map->mod->name, MODULE_NAME_LEN); in ftrace_mod_get_kallsym()
6131 static void save_ftrace_mod_rec(struct ftrace_mod_map *mod_map, in save_ftrace_mod_rec() argument
6202 struct ftrace_mod_map *mod_map = NULL; in ftrace_free_mem() local
6219 mod_map = allocate_ftrace_mod_map(mod, start, end); in ftrace_free_mem()
6235 if (mod_map) in ftrace_free_mem()
6236 save_ftrace_mod_rec(mod_map, rec); in ftrace_free_mem()