Lines Matching refs:func_hash

76 	.func_hash		= &opsname.local_hash,			\
166 ops->func_hash = &ops->local_hash; in ftrace_ops_init()
1298 free_ftrace_hash(ops->func_hash->filter_hash); in ftrace_free_filter()
1299 free_ftrace_hash(ops->func_hash->notrace_hash); in ftrace_free_filter()
1300 ops->func_hash->filter_hash = EMPTY_HASH; in ftrace_free_filter()
1301 ops->func_hash->notrace_hash = EMPTY_HASH; in ftrace_free_filter()
1555 rcu_assign_pointer(hash.filter_hash, ops->func_hash->filter_hash); in ftrace_ops_test()
1556 rcu_assign_pointer(hash.notrace_hash, ops->func_hash->notrace_hash); in ftrace_ops_test()
1757 hash = ops->func_hash->filter_hash; in __ftrace_hash_rec_update()
1758 notrace_hash = ops->func_hash->notrace_hash; in __ftrace_hash_rec_update()
1934 if (ops->func_hash != &global_ops.local_hash) in ftrace_hash_rec_update_modify()
1945 if (op->func_hash == &global_ops.local_hash) in ftrace_hash_rec_update_modify()
2078 struct ftrace_hash *hash = ops->func_hash->filter_hash; in ftrace_hash_ipmodify_enable()
2089 struct ftrace_hash *hash = ops->func_hash->filter_hash; in ftrace_hash_ipmodify_disable()
2100 struct ftrace_hash *old_hash = ops->func_hash->filter_hash; in ftrace_hash_ipmodify_update()
2423 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_any()
2441 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_any_other()
2459 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_next()
2528 hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_curr()
2544 if (hash_contains_ip(ip, op->func_hash)) in ftrace_find_tramp_ops_new()
2559 if (hash_contains_ip(ip, op->func_hash)) { in ftrace_find_unique_ops()
3142 ops->old_hash.filter_hash = ops->func_hash->filter_hash; in ftrace_shutdown()
3143 ops->old_hash.notrace_hash = ops->func_hash->notrace_hash; in ftrace_shutdown()
3364 old_hash_ops.filter_hash = ops->func_hash->filter_hash; in __ftrace_hash_move_and_update_ops()
3365 old_hash_ops.notrace_hash = ops->func_hash->notrace_hash; in __ftrace_hash_move_and_update_ops()
3379 if (!ops_equal(filter_hash, ops->func_hash->filter_hash)) { in ftrace_update_ops()
3380 ret = __ftrace_hash_move_and_update_ops(ops, &ops->func_hash->filter_hash, in ftrace_update_ops()
3386 if (!ops_equal(notrace_hash, ops->func_hash->notrace_hash)) { in ftrace_update_ops()
3387 ret = __ftrace_hash_move_and_update_ops(ops, &ops->func_hash->notrace_hash, in ftrace_update_ops()
3397 struct ftrace_ops_hash *func_hash) in add_first_hash() argument
3400 if (!ftrace_hash_empty(func_hash->filter_hash)) { in add_first_hash()
3401 *filter_hash = copy_hash(func_hash->filter_hash); in add_first_hash()
3404 remove_hash(*filter_hash, func_hash->notrace_hash); in add_first_hash()
3408 *notrace_hash = copy_hash(func_hash->notrace_hash); in add_first_hash()
3513 if (!ops->func_hash->filter_hash) in ftrace_startup_subops()
3514 ops->func_hash->filter_hash = EMPTY_HASH; in ftrace_startup_subops()
3515 if (!ops->func_hash->notrace_hash) in ftrace_startup_subops()
3516 ops->func_hash->notrace_hash = EMPTY_HASH; in ftrace_startup_subops()
3517 if (!subops->func_hash->filter_hash) in ftrace_startup_subops()
3518 subops->func_hash->filter_hash = EMPTY_HASH; in ftrace_startup_subops()
3519 if (!subops->func_hash->notrace_hash) in ftrace_startup_subops()
3520 subops->func_hash->notrace_hash = EMPTY_HASH; in ftrace_startup_subops()
3526 WARN_ON_ONCE(!ftrace_hash_empty(ops->func_hash->filter_hash)); in ftrace_startup_subops()
3527 WARN_ON_ONCE(!ftrace_hash_empty(ops->func_hash->notrace_hash)); in ftrace_startup_subops()
3529 ret = add_first_hash(&filter_hash, &notrace_hash, subops->func_hash); in ftrace_startup_subops()
3533 save_filter_hash = ops->func_hash->filter_hash; in ftrace_startup_subops()
3534 save_notrace_hash = ops->func_hash->notrace_hash; in ftrace_startup_subops()
3536 ops->func_hash->filter_hash = filter_hash; in ftrace_startup_subops()
3537 ops->func_hash->notrace_hash = notrace_hash; in ftrace_startup_subops()
3542 ops->func_hash->filter_hash = save_filter_hash; in ftrace_startup_subops()
3543 ops->func_hash->notrace_hash = save_notrace_hash; in ftrace_startup_subops()
3564 ret = add_next_hash(&filter_hash, &notrace_hash, ops->func_hash, subops->func_hash); in ftrace_startup_subops()
3598 ret = add_first_hash(filter_hash, notrace_hash, subops->func_hash); in rebuild_hashes()
3604 &temp_hash, subops->func_hash); in rebuild_hashes()
3658 free_ftrace_hash(ops->func_hash->filter_hash); in ftrace_shutdown_subops()
3659 free_ftrace_hash(ops->func_hash->notrace_hash); in ftrace_shutdown_subops()
3660 ops->func_hash->filter_hash = EMPTY_HASH; in ftrace_shutdown_subops()
3661 ops->func_hash->notrace_hash = EMPTY_HASH; in ftrace_shutdown_subops()
3739 return ftrace_hash_empty(ops->func_hash->filter_hash) && in ops_traces_mod()
3740 ftrace_hash_empty(ops->func_hash->notrace_hash); in ops_traces_mod()
3947 hash = iter->probe->ops.func_hash->filter_hash; in t_probe_next()
3964 hash = iter->probe->ops.func_hash->filter_hash; in t_probe_next()
4609 mutex_lock(&ops->func_hash->regex_lock); in ftrace_regex_open()
4612 hash = ops->func_hash->notrace_hash; in ftrace_regex_open()
4615 hash = ops->func_hash->filter_hash; in ftrace_regex_open()
4656 mutex_unlock(&ops->func_hash->regex_lock); in ftrace_regex_open()
4924 if (ops->func_hash != &global_ops.local_hash) in ftrace_ops_update_code()
4928 if (op->func_hash == &global_ops.local_hash && in ftrace_ops_update_code()
4961 subops->func_hash == ops->func_hash) { in ftrace_hash_move_and_update_ops()
5019 mutex_lock(&ops->func_hash->regex_lock); in process_mod_list()
5022 orig_hash = &ops->func_hash->filter_hash; in process_mod_list()
5024 orig_hash = &ops->func_hash->notrace_hash; in process_mod_list()
5074 mutex_unlock(&ops->func_hash->regex_lock); in process_mod_list()
5397 mutex_lock(&probe->ops.func_hash->regex_lock); in register_ftrace_function_probe()
5399 orig_hash = &probe->ops.func_hash->filter_hash; in register_ftrace_function_probe()
5468 mutex_unlock(&probe->ops.func_hash->regex_lock); in register_ftrace_function_probe()
5541 mutex_lock(&probe->ops.func_hash->regex_lock); in unregister_ftrace_function_probe_func()
5543 orig_hash = &probe->ops.func_hash->filter_hash; in unregister_ftrace_function_probe_func()
5609 mutex_unlock(&probe->ops.func_hash->regex_lock); in unregister_ftrace_function_probe_func()
5811 mutex_lock(&ops->func_hash->regex_lock); in ftrace_set_hash()
5814 orig_hash = &ops->func_hash->filter_hash; in ftrace_set_hash()
5816 orig_hash = &ops->func_hash->notrace_hash; in ftrace_set_hash()
5851 mutex_unlock(&ops->func_hash->regex_lock); in ftrace_set_hash()
5948 hash = ops->func_hash->filter_hash; in register_ftrace_direct()
6040 struct ftrace_hash *hash = ops->func_hash->filter_hash; in unregister_ftrace_direct()
6079 tmp_ops.func_hash = ops->func_hash; in __modify_ftrace_direct()
6092 hash = ops->func_hash->filter_hash; in __modify_ftrace_direct()
6232 ops->func_hash = &global_ops.local_hash; in ftrace_ops_set_global_filter()
6487 mutex_lock(&iter->ops->func_hash->regex_lock); in ftrace_regex_release()
6493 orig_hash = &iter->ops->func_hash->filter_hash; in ftrace_regex_release()
6501 orig_hash = &iter->ops->func_hash->notrace_hash; in ftrace_regex_release()
6512 mutex_unlock(&iter->ops->func_hash->regex_lock); in ftrace_regex_release()
7289 if (!ftrace_hash_empty(ops->func_hash->filter_hash) && in ops_references_ip()
7290 !__ftrace_lookup_ip(ops->func_hash->filter_hash, ip)) in ops_references_ip()
7294 if (ftrace_lookup_ip(ops->func_hash->notrace_hash, ip)) in ops_references_ip()
7361 if (!tr->ops || !tr->ops->func_hash) in clear_mod_from_hashes()
7363 mutex_lock(&tr->ops->func_hash->regex_lock); in clear_mod_from_hashes()
7364 clear_mod_from_hash(pg, tr->ops->func_hash->filter_hash); in clear_mod_from_hashes()
7365 clear_mod_from_hash(pg, tr->ops->func_hash->notrace_hash); in clear_mod_from_hashes()
7366 mutex_unlock(&tr->ops->func_hash->regex_lock); in clear_mod_from_hashes()
7742 if (!tr->ops || !tr->ops->func_hash) in clear_func_from_hashes()
7744 mutex_lock(&tr->ops->func_hash->regex_lock); in clear_func_from_hashes()
7745 clear_func_from_hash(func, tr->ops->func_hash->filter_hash); in clear_func_from_hashes()
7746 clear_func_from_hash(func, tr->ops->func_hash->notrace_hash); in clear_func_from_hashes()
7747 mutex_unlock(&tr->ops->func_hash->regex_lock); in clear_func_from_hashes()
8566 hash = ops->func_hash->filter_hash; in prepare_direct_functions_for_ipmodify()
8615 hash = ops->func_hash->filter_hash; in cleanup_direct_functions_after_ipmodify()