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 add_hash_entry() -> add_ftrace_hash_entry_direct()

Type Parameter Key Value
PARAM_VALUE 0 hash 0,4096-ptr_max
PARAM_VALUE 2 direct 0
BUF_SIZE 0 hash (-1),48
BUF_SIZE 0 hash (-1),48
DATA_SOURCE 0 hash $0
DATA_SOURCE 1 ip $1
STR_LEN 0 hash (-1)-1010101
STR_LEN 0 hash (-1)-1010101
NOSPEC 1 ip
NOSPEC 1 ip
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 ip 1-u64max[c]
UNITS 1 ip unit_byte
HALF_LOCKED2 &ops->func_hash->regex_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &direct_mutex

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

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-s32max,18446744071562067968-u64max
BUF_SIZE 0 hash 48
DATA_SOURCE 0 hash r alloc_ftrace_hash
BIT_INFO 0 hash->size_bits 0x0,0x7fffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 1 ip unit_byte
HALF_LOCKED2 &ops->func_hash->regex_lock
HALF_LOCKED2 &probe->ops.func_hash->regex_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &direct_mutex
HALF_LOCKED2 global &graph_lock
HALF_LOCKED2 global &trace_types_lock

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

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-32
BUF_SIZE 0 hash 48
DATA_SOURCE 0 hash r alloc_and_copy_ftrace_hash
RX_PATH
TASK_NOT_RUNNING
UNITS 1 ip unit_byte
LOCK2 global &direct_mutex

kernel/bpf/trampoline.c hash_from_ip() -> add_ftrace_hash_entry_direct()

Type Parameter Key Value
PARAM_VALUE 0 hash 4096-ptr_max
PARAM_VALUE 0 hash->size_bits 10
PARAM_VALUE 1 ip 1-u64max
BUF_SIZE 0 hash 48
BUF_SIZE 0 hash 48
DATA_SOURCE 0 hash r alloc_ftrace_hash
DATA_SOURCE 1 ip r ftrace_location
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &direct_mutex