Lines Matching refs:ftrace_ops

87 struct ftrace_ops ftrace_list_end __read_mostly = {
98 struct ftrace_ops *function_trace_op __read_mostly = &ftrace_list_end;
100 static struct ftrace_ops *set_function_trace_op;
102 static bool ftrace_pids_enabled(struct ftrace_ops *ops)
114 static void ftrace_update_trampoline(struct ftrace_ops *ops);
124 struct ftrace_ops __rcu *ftrace_ops_list __read_mostly = &ftrace_list_end;
126 struct ftrace_ops global_ops;
130 struct ftrace_ops *op, struct ftrace_regs *fregs);
136 const struct ftrace_ops ftrace_list_ops = {
142 struct ftrace_ops *op,
153 const struct ftrace_ops ftrace_nop_ops = {
159 static inline void ftrace_ops_init(struct ftrace_ops *ops)
171 struct ftrace_ops *op, struct ftrace_regs *fregs)
194 static ftrace_func_t ftrace_ops_get_list_func(struct ftrace_ops *ops)
212 * Prepare the ftrace_ops that the arch callback will use.
213 * If there's only one ftrace_ops registered, the ftrace_ops_list
219 /* If there's no ftrace_ops registered, just call the stub function */
233 /* Just use the default ftrace_ops */
266 * ftrace_ops and doesn't depend on function_trace_op.
286 static void add_ftrace_ops(struct ftrace_ops __rcu **list,
287 struct ftrace_ops *ops)
300 static int remove_ftrace_ops(struct ftrace_ops __rcu **list,
301 struct ftrace_ops *ops)
303 struct ftrace_ops **p;
328 static void ftrace_update_trampoline(struct ftrace_ops *ops);
330 int __register_ftrace_function(struct ftrace_ops *ops)
340 * If the ftrace_ops specifies SAVE_REGS, then it only can be used
373 int __unregister_ftrace_function(struct ftrace_ops *ops)
395 struct ftrace_ops *op;
785 struct ftrace_ops *ops, struct ftrace_regs *fregs)
895 static struct ftrace_ops ftrace_profile_ops __read_mostly = {
1031 static struct ftrace_ops *removed_ops;
1035 * It is not set when just updating a single ftrace_ops.
1045 struct ftrace_ops ops;
1064 struct ftrace_ops global_ops = {
1076 struct ftrace_ops *ftrace_ops_trampoline(unsigned long addr)
1078 struct ftrace_ops *op = NULL;
1284 * ftrace_free_filter - remove all filters for an ftrace_ops
1287 void ftrace_free_filter(struct ftrace_ops *ops)
1384 ftrace_hash_rec_disable_modify(struct ftrace_ops *ops, int filter_hash);
1386 ftrace_hash_rec_enable_modify(struct ftrace_ops *ops, int filter_hash);
1388 static int ftrace_hash_ipmodify_update(struct ftrace_ops *ops,
1442 ftrace_hash_move(struct ftrace_ops *ops, int enable,
1448 /* Reject setting notrace hash on IPMODIFY ftrace_ops */
1456 /* Make sure this can be applied if it is IPMODIFY ftrace_ops */
1507 ftrace_ops_test(struct ftrace_ops *ops, unsigned long ip, void *regs)
1661 struct ftrace_ops *ops;
1678 static struct ftrace_ops *
1680 static struct ftrace_ops *
1681 ftrace_find_tramp_ops_any_other(struct dyn_ftrace *rec, struct ftrace_ops *op_exclude);
1682 static struct ftrace_ops *
1683 ftrace_find_tramp_ops_next(struct dyn_ftrace *rec, struct ftrace_ops *ops);
1697 static bool __ftrace_hash_rec_update(struct ftrace_ops *ops,
1879 static bool ftrace_hash_rec_disable(struct ftrace_ops *ops,
1885 static bool ftrace_hash_rec_enable(struct ftrace_ops *ops,
1891 static void ftrace_hash_rec_update_modify(struct ftrace_ops *ops,
1894 struct ftrace_ops *op;
1914 static void ftrace_hash_rec_disable_modify(struct ftrace_ops *ops,
1920 static void ftrace_hash_rec_enable_modify(struct ftrace_ops *ops,
1942 static int __ftrace_hash_update_ipmodify(struct ftrace_ops *ops,
1967 * actions, we do not allow ftrace_ops to set all functions to new
2043 static int ftrace_hash_ipmodify_enable(struct ftrace_ops *ops)
2054 static void ftrace_hash_ipmodify_disable(struct ftrace_ops *ops)
2064 static int ftrace_hash_ipmodify_update(struct ftrace_ops *ops,
2157 struct ftrace_ops *ops = NULL;
2379 static struct ftrace_ops *
2382 struct ftrace_ops *op;
2397 static struct ftrace_ops *
2398 ftrace_find_tramp_ops_any_other(struct dyn_ftrace *rec, struct ftrace_ops *op_exclude)
2400 struct ftrace_ops *op;
2415 static struct ftrace_ops *
2417 struct ftrace_ops *op)
2433 static struct ftrace_ops *
2436 struct ftrace_ops *op;
2503 static struct ftrace_ops *
2506 struct ftrace_ops *op;
2518 struct ftrace_ops *
2521 struct ftrace_ops *op, *found = NULL;
2559 struct ftrace_ops *ops, struct ftrace_regs *fregs)
2582 struct ftrace_ops *ops;
2623 struct ftrace_ops *ops;
2843 * If the ftrace_caller calls a ftrace_ops func directly,
2929 static void ftrace_run_modify_code(struct ftrace_ops *ops, int command,
2944 void __weak arch_ftrace_trampoline_free(struct ftrace_ops *ops)
2951 static void ftrace_add_trampoline_to_kallsyms(struct ftrace_ops *ops)
2957 static void ftrace_remove_trampoline_from_kallsyms(struct ftrace_ops *ops)
2972 static void ftrace_trampoline_free(struct ftrace_ops *ops)
3013 int ftrace_startup(struct ftrace_ops *ops, int command)
3067 int ftrace_shutdown(struct ftrace_ops *ops, int command)
3174 static inline int ops_traces_mod(struct ftrace_ops *ops)
3346 struct ftrace_ops *ops;
3699 arch_ftrace_trampoline_func(struct ftrace_ops *ops, struct dyn_ftrace *rec)
3704 static void add_trampoline_func(struct seq_file *m, struct ftrace_ops *ops,
3848 struct ftrace_ops *ops;
4001 * @ops: The ftrace_ops that hold the hash filters
4018 ftrace_regex_open(struct ftrace_ops *ops, int flag,
4108 struct ftrace_ops *ops = inode->i_private;
4119 struct ftrace_ops *ops = inode->i_private;
4349 static void ftrace_ops_update_code(struct ftrace_ops *ops,
4352 struct ftrace_ops *op;
4380 static int ftrace_hash_move_and_update_ops(struct ftrace_ops *ops,
4462 ftrace_set_regex(struct ftrace_ops *ops, unsigned char *buf, int len,
4466 static void process_mod_list(struct list_head *head, struct ftrace_ops *ops,
4602 struct ftrace_ops *op, struct ftrace_regs *fregs)
5263 ftrace_set_hash(struct ftrace_ops *ops, unsigned char *buf, int len,
5313 ftrace_set_addr(struct ftrace_ops *ops, unsigned long *ips, unsigned int cnt,
5329 static int register_ftrace_function_nolock(struct ftrace_ops *ops);
5332 * If there are multiple ftrace_ops, use SAVE_REGS by default, so that direct
5335 * jumps from ftrace_caller for multiple ftrace_ops.
5343 static int check_direct_multi(struct ftrace_ops *ops)
5372 * @ops: The address of the struct ftrace_ops object
5391 int register_ftrace_direct(struct ftrace_ops *ops, unsigned long addr)
5482 * @ops: The address of the struct ftrace_ops object
5492 int unregister_ftrace_direct(struct ftrace_ops *ops, unsigned long addr,
5519 __modify_ftrace_direct(struct ftrace_ops *ops, unsigned long addr)
5523 static struct ftrace_ops tmp_ops = {
5571 * @ops: The address of the struct ftrace_ops object
5586 int modify_ftrace_direct_nolock(struct ftrace_ops *ops, unsigned long addr)
5600 * @ops: The address of the struct ftrace_ops object
5612 int modify_ftrace_direct(struct ftrace_ops *ops, unsigned long addr)
5643 int ftrace_set_filter_ip(struct ftrace_ops *ops, unsigned long ip,
5666 int ftrace_set_filter_ips(struct ftrace_ops *ops, unsigned long *ips,
5681 void ftrace_ops_set_global_filter(struct ftrace_ops *ops)
5692 ftrace_set_regex(struct ftrace_ops *ops, unsigned char *buf, int len,
5712 int ftrace_set_filter(struct ftrace_ops *ops, unsigned char *buf,
5735 int ftrace_set_notrace(struct ftrace_ops *ops, unsigned char *buf,
5854 ftrace_set_early_filter(struct ftrace_ops *ops, char *buf, int enable)
6390 void ftrace_create_filter_files(struct ftrace_ops *ops,
6411 void ftrace_destroy_filter_files(struct ftrace_ops *ops)
6626 struct ftrace_ops *op;
6651 ops_references_ip(struct ftrace_ops *ops, unsigned long ip)
6682 struct ftrace_ops *ops;
7268 void __weak arch_ftrace_update_trampoline(struct ftrace_ops *ops)
7272 static void ftrace_update_trampoline(struct ftrace_ops *ops)
7302 struct ftrace_ops global_ops = {
7318 static void ftrace_update_trampoline(struct ftrace_ops *ops)
7350 struct ftrace_ops *ignored, struct ftrace_regs *fregs)
7353 struct ftrace_ops *op;
7394 * Archs are to support both the regs and ftrace_ops at the same time.
7395 * If they support ftrace_ops, it is assumed they support regs.
7399 * An architecture can pass partial regs with ftrace_ops and still
7407 struct ftrace_ops *op, struct ftrace_regs *fregs)
7425 struct ftrace_ops *op, struct ftrace_regs *fregs)
7451 ftrace_func_t ftrace_ops_get_func(struct ftrace_ops *ops)
7912 * When registering ftrace_ops with IPMODIFY, it is necessary to make sure
7913 * it doesn't conflict with any direct ftrace_ops. If there is existing
7914 * direct ftrace_ops on a kernel function being patched, call
7917 * @ops: ftrace_ops being registered.
7923 static int prepare_direct_functions_for_ipmodify(struct ftrace_ops *ops)
7927 struct ftrace_ops *op;
7972 static void cleanup_direct_functions_after_ipmodify(struct ftrace_ops *ops)
7976 struct ftrace_ops *op;
8015 static int prepare_direct_functions_for_ipmodify(struct ftrace_ops *ops)
8020 static void cleanup_direct_functions_after_ipmodify(struct ftrace_ops *ops)
8032 static int register_ftrace_function_nolock(struct ftrace_ops *ops)
8058 int register_ftrace_function(struct ftrace_ops *ops)
8081 int unregister_ftrace_function(struct ftrace_ops *ops)
8211 struct ftrace_ops *op;