Lines Matching refs:ip
123 static void ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
127 static void ftrace_ops_no_ops(unsigned long ip, unsigned long parent_ip);
142 static void ftrace_pid_func(unsigned long ip, unsigned long parent_ip, in ftrace_pid_func() argument
157 op->saved_func(ip, parent_ip, op, regs); in ftrace_pid_func()
387 unsigned long ip; member
528 kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); in function_stat_show()
690 ftrace_find_profiled_func(struct ftrace_profile_stat *stat, unsigned long ip) in ftrace_find_profiled_func() argument
696 key = hash_long(ip, FTRACE_PROFILE_HASH_BITS); in ftrace_find_profiled_func()
703 if (rec->ip == ip) in ftrace_find_profiled_func()
715 key = hash_long(rec->ip, FTRACE_PROFILE_HASH_BITS); in ftrace_add_profile()
723 ftrace_profile_alloc(struct ftrace_profile_stat *stat, unsigned long ip) in ftrace_profile_alloc() argument
735 rec = ftrace_find_profiled_func(stat, ip); in ftrace_profile_alloc()
746 rec->ip = ip; in ftrace_profile_alloc()
756 function_profile_call(unsigned long ip, unsigned long parent_ip, in function_profile_call() argument
772 rec = ftrace_find_profiled_func(stat, ip); in function_profile_call()
774 rec = ftrace_profile_alloc(stat, ip); in function_profile_call()
1104 ftrace_hash_key(struct ftrace_hash *hash, unsigned long ip) in ftrace_hash_key() argument
1107 return hash_long(ip, hash->size_bits); in ftrace_hash_key()
1114 __ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip) in __ftrace_lookup_ip() argument
1120 key = ftrace_hash_key(hash, ip); in __ftrace_lookup_ip()
1124 if (entry->ip == ip) in __ftrace_lookup_ip()
1141 ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip) in ftrace_lookup_ip() argument
1146 return __ftrace_lookup_ip(hash, ip); in ftrace_lookup_ip()
1155 key = ftrace_hash_key(hash, entry->ip); in __add_hash_entry()
1161 static int add_hash_entry(struct ftrace_hash *hash, unsigned long ip) in add_hash_entry() argument
1169 entry->ip = ip; in add_hash_entry()
1339 ret = add_hash_entry(new_hash, entry->ip); in alloc_and_copy_ftrace_hash()
1450 static bool hash_contains_ip(unsigned long ip, in hash_contains_ip() argument
1460 __ftrace_lookup_ip(hash->filter_hash, ip)) && in hash_contains_ip()
1462 !__ftrace_lookup_ip(hash->notrace_hash, ip)); in hash_contains_ip()
1478 ftrace_ops_test(struct ftrace_ops *ops, unsigned long ip, void *regs) in ftrace_ops_test() argument
1496 if (hash_contains_ip(ip, &hash)) in ftrace_ops_test()
1524 if (key->flags < rec->ip) in ftrace_cmp_recs()
1526 if (key->ip >= rec->ip + MCOUNT_INSN_SIZE) in ftrace_cmp_recs()
1537 key.ip = start; in lookup_rec()
1542 end < pg->records[0].ip || in lookup_rec()
1543 start >= (pg->records[pg->index - 1].ip + MCOUNT_INSN_SIZE)) in lookup_rec()
1572 return rec->ip; in ftrace_location_range()
1586 unsigned long ftrace_location(unsigned long ip) in ftrace_location() argument
1588 return ftrace_location_range(ip, ip); in ftrace_location()
1620 if (ftrace_ops_test(ops, rec->ip, rec)) { in test_rec_ops_needs_regs()
1695 if (!other_hash || !ftrace_lookup_ip(other_hash, rec->ip)) in __ftrace_hash_rec_update()
1698 in_hash = !!ftrace_lookup_ip(hash, rec->ip); in __ftrace_hash_rec_update()
1699 in_other_hash = !!ftrace_lookup_ip(other_hash, rec->ip); in __ftrace_hash_rec_update()
1893 in_old = !!ftrace_lookup_ip(old_hash, rec->ip); in __ftrace_hash_update_ipmodify()
1894 in_new = !!ftrace_lookup_ip(new_hash, rec->ip); in __ftrace_hash_update_ipmodify()
1921 in_old = !!ftrace_lookup_ip(old_hash, rec->ip); in __ftrace_hash_update_ipmodify()
1922 in_new = !!ftrace_lookup_ip(new_hash, rec->ip); in __ftrace_hash_update_ipmodify()
2024 unsigned long ip = rec ? rec->ip : 0; in ftrace_bug() local
2031 print_ip_sym(KERN_INFO, ip); in ftrace_bug()
2035 print_ip_sym(KERN_INFO, ip); in ftrace_bug()
2036 print_ip_ins(" actual: ", (unsigned char *)ip); in ftrace_bug()
2045 print_ip_sym(KERN_INFO, ip); in ftrace_bug()
2049 print_ip_sym(KERN_INFO, ip); in ftrace_bug()
2071 ip = ftrace_get_addr_curr(rec); in ftrace_bug()
2072 pr_cont("\n expected tramp: %lx\n", ip); in ftrace_bug()
2243 unsigned long ip = rec->ip; in ftrace_find_tramp_ops_any() local
2250 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_any()
2261 unsigned long ip = rec->ip; in ftrace_find_tramp_ops_any_other() local
2268 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_any_other()
2279 unsigned long ip = rec->ip; in ftrace_find_tramp_ops_next() local
2286 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_next()
2297 unsigned long ip = rec->ip; in ftrace_find_tramp_ops_curr() local
2306 if (hash_contains_ip(ip, &removed_ops->old_hash)) in ftrace_find_tramp_ops_curr()
2347 hash_contains_ip(ip, &op->old_hash)) in ftrace_find_tramp_ops_curr()
2355 hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_curr()
2367 unsigned long ip = rec->ip; in ftrace_find_tramp_ops_new() local
2371 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_new()
2388 unsigned long ftrace_find_rec_direct(unsigned long ip) in ftrace_find_rec_direct() argument
2392 entry = __ftrace_lookup_ip(direct_functions, ip); in ftrace_find_rec_direct()
2399 static void call_direct_funcs(unsigned long ip, unsigned long pip, in call_direct_funcs() argument
2404 addr = ftrace_find_rec_direct(ip); in call_direct_funcs()
2444 addr = ftrace_find_rec_direct(rec->ip); in ftrace_get_addr_new()
2455 (void *)rec->ip, (void *)rec->ip, rec->flags); in ftrace_get_addr_new()
2485 addr = ftrace_find_rec_direct(rec->ip); in ftrace_get_addr_curr()
2496 (void *)rec->ip, (void *)rec->ip); in ftrace_get_addr_curr()
2979 (void *)rec->ip, rec->flags); in ftrace_shutdown()
3092 !__ftrace_lookup_ip(ops->func_hash->filter_hash, rec->ip)) in ops_references_rec()
3096 if (ftrace_lookup_ip(ops->func_hash->notrace_hash, rec->ip)) in ops_references_rec()
3401 return probe_ops->print(m, probe_entry->ip, probe_ops, probe->data); in t_probe_show()
3403 seq_printf(m, "%ps:%ps\n", (void *)probe_entry->ip, in t_probe_show()
3503 !ftrace_lookup_ip(iter->hash, rec->ip)) || in t_func_next()
3659 seq_printf(m, "%ps", (void *)rec->ip); in t_show()
3686 direct = ftrace_find_rec_direct(rec->ip); in t_show()
3935 entry = ftrace_lookup_ip(hash, rec->ip); in enter_record()
3947 ret = add_hash_entry(hash, rec->ip); in enter_record()
3984 kallsyms_lookup(rec->ip, NULL, NULL, &modname, str); in ftrace_match_record()
4330 static void function_trace_probe_call(unsigned long ip, unsigned long parent_ip, in function_trace_probe_call() argument
4345 probe_ops->func(ip, parent_ip, probe->tr, probe_ops, probe->data); in function_trace_probe_call()
4388 unsigned long ip) in ftrace_func_mapper_find_ip() argument
4393 entry = ftrace_lookup_ip(&mapper->hash, ip); in ftrace_func_mapper_find_ip()
4410 unsigned long ip, void *data) in ftrace_func_mapper_add_ip() argument
4415 entry = ftrace_lookup_ip(&mapper->hash, ip); in ftrace_func_mapper_add_ip()
4423 map->entry.ip = ip; in ftrace_func_mapper_add_ip()
4442 unsigned long ip) in ftrace_func_mapper_remove_ip() argument
4448 entry = ftrace_lookup_ip(&mapper->hash, ip); in ftrace_func_mapper_remove_ip()
4600 if (ftrace_lookup_ip(old_hash, entry->ip)) in register_ftrace_function_probe()
4609 entry->ip, data, in register_ftrace_function_probe()
4662 if (ftrace_lookup_ip(old_hash, entry->ip)) in register_ftrace_function_probe()
4664 probe_ops->free(probe_ops, tr, entry->ip, probe->data); in register_ftrace_function_probe()
4743 kallsyms_lookup(entry->ip, NULL, NULL, in unregister_ftrace_function_probe_func()
4781 probe_ops->free(probe_ops, tr, entry->ip, probe->data); in unregister_ftrace_function_probe_func()
4947 ftrace_match_addr(struct ftrace_hash *hash, unsigned long ip, int remove) in ftrace_match_addr() argument
4951 if (!ftrace_location(ip)) in ftrace_match_addr()
4955 entry = ftrace_lookup_ip(hash, ip); in ftrace_match_addr()
4962 return add_hash_entry(hash, ip); in ftrace_match_addr()
4967 unsigned long ip, int remove, int reset, int enable) in ftrace_set_hash() argument
4997 if (ip) { in ftrace_set_hash()
4998 ret = ftrace_match_addr(hash, ip, remove); in ftrace_set_hash()
5015 ftrace_set_addr(struct ftrace_ops *ops, unsigned long ip, int remove, in ftrace_set_addr() argument
5018 return ftrace_set_hash(ops, NULL, 0, ip, remove, reset, enable); in ftrace_set_addr()
5093 int register_ftrace_direct(unsigned long ip, unsigned long addr) in register_ftrace_direct() argument
5104 if (ftrace_find_rec_direct(ip)) in register_ftrace_direct()
5108 rec = lookup_rec(ip, ip); in register_ftrace_direct()
5120 if (ip != rec->ip) { in register_ftrace_direct()
5121 ip = rec->ip; in register_ftrace_direct()
5123 if (ftrace_find_rec_direct(ip)) in register_ftrace_direct()
5158 entry->ip = ip; in register_ftrace_direct()
5162 ret = ftrace_set_filter_ip(&direct_ops, ip, 0, 0); in register_ftrace_direct()
5167 ftrace_set_filter_ip(&direct_ops, ip, 1, 0); in register_ftrace_direct()
5197 static struct ftrace_func_entry *find_direct_entry(unsigned long *ip, in find_direct_entry() argument
5203 rec = lookup_rec(*ip, *ip); in find_direct_entry()
5207 entry = __ftrace_lookup_ip(direct_functions, rec->ip); in find_direct_entry()
5216 *ip = rec->ip; in find_direct_entry()
5224 int unregister_ftrace_direct(unsigned long ip, unsigned long addr) in unregister_ftrace_direct() argument
5232 entry = find_direct_entry(&ip, NULL); in unregister_ftrace_direct()
5239 ret = ftrace_set_filter_ip(&direct_ops, ip, 1, 0); in unregister_ftrace_direct()
5292 unsigned long ip = rec->ip; in ftrace_modify_direct_caller() local
5313 ret = ftrace_set_filter_ip(&stub_ops, ip, 0, 0); in ftrace_modify_direct_caller()
5319 ftrace_set_filter_ip(&stub_ops, ip, 1, 0); in ftrace_modify_direct_caller()
5330 ftrace_set_filter_ip(&stub_ops, ip, 1, 0); in ftrace_modify_direct_caller()
5352 int modify_ftrace_direct(unsigned long ip, in modify_ftrace_direct() argument
5363 entry = find_direct_entry(&ip, &rec); in modify_ftrace_direct()
5427 int ftrace_set_filter_ip(struct ftrace_ops *ops, unsigned long ip, in ftrace_set_filter_ip() argument
5431 return ftrace_set_addr(ops, ip, remove, reset, 1); in ftrace_set_filter_ip()
5828 seq_printf(m, "%ps\n", (void *)entry->ip); in g_show()
6051 entry = ftrace_lookup_ip(hash, rec->ip); in ftrace_graph_set_hash()
6058 if (add_hash_entry(hash, rec->ip) < 0) in ftrace_graph_set_hash()
6271 rec->ip = addr; in ftrace_process_locs()
6310 unsigned long ip; member
6387 entry = __ftrace_lookup_ip(hash, rec->ip); in clear_mod_from_hash()
6394 entry->ip = 0; in clear_mod_from_hash()
6460 if (within_module_core(rec->ip, mod) || in ftrace_release_mod()
6461 within_module_init(rec->ip, mod)) { in ftrace_release_mod()
6533 if (!within_module_core(rec->ip, mod) && in ftrace_module_enable()
6534 !within_module_init(rec->ip, mod)) in ftrace_module_enable()
6590 ret = kallsyms_lookup(rec->ip, &symsize, &offset, &modname, str); in save_ftrace_mod_rec()
6604 mod_func->ip = rec->ip - offset; in save_ftrace_mod_rec()
6643 if (addr >= mod_func->ip && in ftrace_func_address_lookup()
6644 addr < mod_func->ip + mod_func->size) { in ftrace_func_address_lookup()
6654 *off = addr - found_func->ip; in ftrace_func_address_lookup()
6708 *value = mod_func->ip; in ftrace_mod_get_kallsym()
6750 unsigned long ip; member
6759 entry = ftrace_lookup_ip(hash, func->ip); in clear_func_from_hash()
6766 entry->ip = 0; in clear_func_from_hash()
6797 func->ip = rec->ip; in add_to_clear_hash_list()
6815 key.ip = start; in ftrace_free_mem()
6829 if (end < pg->records[0].ip || in ftrace_free_mem()
6830 start >= (pg->records[pg->index - 1].ip + MCOUNT_INSN_SIZE)) in ftrace_free_mem()
7006 __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, in __ftrace_ops_list_func() argument
7036 ftrace_ops_test(op, ip, regs)) { in __ftrace_ops_list_func()
7041 op->func(ip, parent_ip, op, regs); in __ftrace_ops_list_func()
7063 static void ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, in ftrace_ops_list_func() argument
7066 __ftrace_ops_list_func(ip, parent_ip, NULL, regs); in ftrace_ops_list_func()
7070 static void ftrace_ops_no_ops(unsigned long ip, unsigned long parent_ip) in ftrace_ops_no_ops() argument
7072 __ftrace_ops_list_func(ip, parent_ip, NULL, NULL); in ftrace_ops_no_ops()
7082 static void ftrace_ops_assist_func(unsigned long ip, unsigned long parent_ip, in ftrace_ops_assist_func() argument
7094 op->func(ip, parent_ip, op, regs); in ftrace_ops_assist_func()