Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/trace/ftrace.c __move_hash() -> add_ftrace_hash_entry()

Type Parameter Key Value
PARAM_VALUE 0 hash 4096-ptr_max
PARAM_VALUE 0 hash->buckets 16,4096-ptr_max
PARAM_VALUE 0 hash->size_bits 0-12
PARAM_VALUE 1 entry 4096-ptr_max
PARAM_VALUE 1 entry->hlist->next->pprev 1-u64max
PARAM_VALUE 1 entry->hlist.pprev 4096-ptr_max
BUF_SIZE 0 hash 48
DATA_SOURCE 0 hash r alloc_ftrace_hash
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &ftrace_lock

kernel/trace/ftrace.c add_ftrace_hash_entry_direct() -> add_ftrace_hash_entry()

Type Parameter Key Value
PARAM_VALUE 0 hash 0,4096-ptr_max
PARAM_VALUE 1 entry 4096-ptr_max
BUF_SIZE 0 hash (-1),48
BUF_SIZE 0 hash (-1),48
BUF_SIZE 1 entry 32
DATA_SOURCE 0 hash $0
DATA_SOURCE 1 entry r _kmalloc_noprof
STR_LEN 0 hash (-1)-1010101
STR_LEN 0 hash (-1)-1010101
NOSPEC 1 entry->ip
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 entry->ip 1-u64max[c]
HALF_LOCKED2 global &direct_mutex

kernel/trace/ftrace.c ftrace_func_mapper_add_ip() -> add_ftrace_hash_entry()

Type Parameter Key Value
PARAM_VALUE 0 hash 1-u64max
PARAM_VALUE 1 entry 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &probe->ops.func_hash->regex_lock
LOCK2 _T->lock
TYPE_LOCK (struct ftrace_ops_hash)->regex_lock

kernel/bpf/trampoline.c ftrace_hash_add() -> add_ftrace_hash_entry()

Type Parameter Key Value
PARAM_VALUE 1 entry 4096-ptr_max
DATA_SOURCE 0 hash $0
DATA_SOURCE 1 entry $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &direct_mutex