ftrace_hash
struct ftrace_hash *alloc_ftrace_hash(int size_bits);
void free_ftrace_hash(struct ftrace_hash *hash);
struct ftrace_func_entry *add_ftrace_hash_entry_direct(struct ftrace_hash *hash,
struct ftrace_hash __rcu *notrace_hash;
struct ftrace_hash __rcu *filter_hash;
int update_ftrace_direct_add(struct ftrace_ops *ops, struct ftrace_hash *hash);
int update_ftrace_direct_del(struct ftrace_ops *ops, struct ftrace_hash *hash);
int update_ftrace_direct_mod(struct ftrace_ops *ops, struct ftrace_hash *hash, bool do_direct_lock);
static inline int update_ftrace_direct_add(struct ftrace_ops *ops, struct ftrace_hash *hash)
static inline int update_ftrace_direct_del(struct ftrace_ops *ops, struct ftrace_hash *hash)
static inline int update_ftrace_direct_mod(struct ftrace_ops *ops, struct ftrace_hash *hash, bool do_direct_lock)
struct ftrace_hash;
static struct ftrace_hash *hash_from_ip(struct bpf_trampoline *tr, void *ptr)
struct ftrace_hash *hash;
struct ftrace_hash *hash = hash_from_ip(tr, addr);
struct ftrace_hash *hash = hash_from_ip(tr, addr);
struct ftrace_hash *hash = hash_from_ip(tr, addr);
static const struct ftrace_hash empty_hash = {
#define EMPTY_HASH ((struct ftrace_hash *)&empty_hash)
ftrace_hash_key(struct ftrace_hash *hash, unsigned long ip)
__ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip)
ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip)
static void __add_hash_entry(struct ftrace_hash *hash,
add_ftrace_hash_entry_direct(struct ftrace_hash *hash, unsigned long ip, unsigned long direct)
add_hash_entry(struct ftrace_hash *hash, unsigned long ip)
free_hash_entry(struct ftrace_hash *hash,
remove_hash_entry(struct ftrace_hash *hash,
static void ftrace_hash_clear(struct ftrace_hash *hash)
void free_ftrace_hash(struct ftrace_hash *hash)
struct ftrace_hash *hash;
hash = container_of(rcu, struct ftrace_hash, rcu);
static void free_ftrace_hash_rcu(struct ftrace_hash *hash)
struct ftrace_hash *alloc_ftrace_hash(int size_bits)
struct ftrace_hash *hash;
static struct ftrace_hash *
alloc_and_copy_ftrace_hash(int size_bits, struct ftrace_hash *hash)
struct ftrace_hash *new_hash;
struct ftrace_hash *new_hash);
static struct ftrace_hash *__move_hash(struct ftrace_hash *src, int size)
struct ftrace_hash *new_hash;
static struct ftrace_hash *
__ftrace_hash_move(struct ftrace_hash *src)
struct ftrace_hash **dst, struct ftrace_hash *src)
struct ftrace_hash *new_hash;
struct ftrace_hash *hash;
struct ftrace_hash *notrace_hash;
struct ftrace_hash *old_hash,
struct ftrace_hash *new_hash,
struct ftrace_hash *hash = ops->func_hash->filter_hash;
struct ftrace_hash *hash = ops->func_hash->filter_hash;
struct ftrace_hash *new_hash)
struct ftrace_hash *old_hash = ops->func_hash->filter_hash;
static struct ftrace_hash __rcu *direct_functions = EMPTY_HASH;
static struct ftrace_hash *copy_hash(struct ftrace_hash *src)
static int append_hash(struct ftrace_hash **hash, struct ftrace_hash *new_hash,
static void remove_hash(struct ftrace_hash *hash, struct ftrace_hash *notrace_hash)
static int intersect_hash(struct ftrace_hash **hash, struct ftrace_hash *new_hash1,
struct ftrace_hash *new_hash2)
static bool ops_equal(struct ftrace_hash *A, struct ftrace_hash *B)
struct ftrace_hash **orig_hash,
struct ftrace_hash *hash,
struct ftrace_hash *old_hash;
static int ftrace_update_ops(struct ftrace_ops *ops, struct ftrace_hash *filter_hash,
struct ftrace_hash *notrace_hash)
static int add_first_hash(struct ftrace_hash **filter_hash, struct ftrace_hash **notrace_hash,
static int add_next_hash(struct ftrace_hash **filter_hash, struct ftrace_hash **notrace_hash,
struct ftrace_hash *filter_hash = EMPTY_HASH;
struct ftrace_hash *notrace_hash = EMPTY_HASH;
struct ftrace_hash *save_filter_hash;
struct ftrace_hash *save_notrace_hash;
static int rebuild_hashes(struct ftrace_hash **filter_hash, struct ftrace_hash **notrace_hash,
struct ftrace_hash *filter_hash = EMPTY_HASH;
struct ftrace_hash *notrace_hash = EMPTY_HASH;
struct ftrace_hash **orig_subhash,
struct ftrace_hash *hash)
struct ftrace_hash *notrace_hash;
struct ftrace_hash *filter_hash;
struct ftrace_hash *save_hash;
struct ftrace_hash *new_hash;
struct ftrace_hash *hash;
struct ftrace_hash *hash;
struct ftrace_hash *hash;
enter_record(struct ftrace_hash *hash, struct dyn_ftrace *rec, int clear_filter)
add_rec_by_index(struct ftrace_hash *hash, struct ftrace_glob *func_g,
match_records(struct ftrace_hash *hash, char *func, int len, char *mod)
ftrace_match_records(struct ftrace_hash *hash, char *buff, int len)
struct ftrace_hash **orig_hash,
struct ftrace_hash *hash,
struct ftrace_hash **orig_hash, *new_hash;
ftrace_mod_callback(struct trace_array *tr, struct ftrace_hash *hash,
struct ftrace_hash hash; /* Must be first! */
struct ftrace_hash *hash;
struct ftrace_hash **orig_hash;
struct ftrace_hash *old_hash;
struct ftrace_hash *hash;
struct ftrace_hash **orig_hash;
struct ftrace_hash *old_hash;
struct ftrace_hash *hash = NULL;
struct ftrace_hash *hash = iter->hash;
__ftrace_match_addr(struct ftrace_hash *hash, unsigned long ip, int remove)
ftrace_match_addr(struct ftrace_hash *hash, unsigned long *ips,
struct ftrace_hash **orig_hash;
struct ftrace_hash *hash;
static void remove_direct_functions_hash(struct ftrace_hash *hash, unsigned long addr)
struct ftrace_hash *fhp = container_of(rhp, struct ftrace_hash, rcu);
struct ftrace_hash *hash = ops->func_hash->filter_hash;
struct ftrace_hash *hash, *new_hash = NULL, *free_hash = NULL;
struct ftrace_hash *hash = ops->func_hash->filter_hash;
static unsigned long hash_count(struct ftrace_hash *hash)
static struct ftrace_hash *hash_add(struct ftrace_hash *a, struct ftrace_hash *b)
struct ftrace_hash *add;
int update_ftrace_direct_add(struct ftrace_ops *ops, struct ftrace_hash *hash)
struct ftrace_hash *old_direct_functions = NULL;
struct ftrace_hash *new_direct_functions;
struct ftrace_hash *old_filter_hash;
struct ftrace_hash *new_filter_hash = NULL;
static struct ftrace_hash *hash_sub(struct ftrace_hash *a, struct ftrace_hash *b)
struct ftrace_hash *sub;
int update_ftrace_direct_del(struct ftrace_ops *ops, struct ftrace_hash *hash)
struct ftrace_hash *old_direct_functions = NULL;
struct ftrace_hash *new_direct_functions;
struct ftrace_hash *new_filter_hash = NULL;
struct ftrace_hash *old_filter_hash;
int update_ftrace_direct_mod(struct ftrace_ops *ops, struct ftrace_hash *hash, bool do_direct_lock)
struct ftrace_hash *orig_hash;
static int ftrace_graph_set_hash(struct ftrace_hash *hash, char *buffer);
struct ftrace_hash *hash;
struct ftrace_hash **orig_hash;
struct ftrace_hash __rcu *ftrace_graph_hash = EMPTY_HASH;
struct ftrace_hash __rcu *ftrace_graph_notrace_hash = EMPTY_HASH;
struct ftrace_hash *hash;
struct ftrace_hash *new_hash;
struct ftrace_hash *new_hash = NULL;
struct ftrace_hash *old_hash, *new_hash;
ftrace_graph_set_hash(struct ftrace_hash *hash, char *buffer)
clear_mod_from_hash(struct ftrace_page *pg, struct ftrace_hash *hash)
clear_func_from_hash(struct ftrace_init_func *func, struct ftrace_hash *hash)
struct ftrace_hash *hash;
struct ftrace_hash *hash;
ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip);
static __always_inline bool ftrace_hash_empty(struct ftrace_hash *hash)
extern struct ftrace_hash __rcu *ftrace_graph_hash;
extern struct ftrace_hash __rcu *ftrace_graph_notrace_hash;
struct ftrace_hash *hash;
struct ftrace_hash *notrace_hash;
struct ftrace_hash *hash,
struct ftrace_hash;
event_enable_func(struct trace_array *tr, struct ftrace_hash *hash,
struct ftrace_hash *hash, char *glob,
ftrace_trace_onoff_callback(struct trace_array *tr, struct ftrace_hash *hash,
ftrace_stacktrace_callback(struct trace_array *tr, struct ftrace_hash *hash,
ftrace_dump_callback(struct trace_array *tr, struct ftrace_hash *hash,
ftrace_cpudump_callback(struct trace_array *tr, struct ftrace_hash *hash,
ftrace_trace_snapshot_callback(struct trace_array *tr, struct ftrace_hash *hash,