Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

lib/assoc_array.c assoc_array_delete() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
LOCK2 &keyring->sem
HALF_LOCKED2 &to_keyring->sem
TYPE_LOCK (struct key)->sem

lib/assoc_array.c assoc_array_delete() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
LOCK2 &keyring->sem
HALF_LOCKED2 &to_keyring->sem
TYPE_LOCK (struct key)->sem

lib/assoc_array.c assoc_array_destroy_subtree() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &keyring->sem

lib/assoc_array.c assoc_array_find() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

lib/assoc_array.c assoc_array_gc() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
LOCK2 &keyring->sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct key)->sem

lib/assoc_array.c assoc_array_insert_into_terminal_node() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &from_keyring->sem
HALF_LOCKED2 &keyring->sem
HALF_LOCKED2 &user->cons_lock
HALF_LOCKED2 global &key_construction_mutex
HALF_LOCKED2 global &key_types_sem

lib/assoc_array.c assoc_array_insert_into_terminal_node() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &from_keyring->sem
HALF_LOCKED2 &keyring->sem
HALF_LOCKED2 &user->cons_lock
HALF_LOCKED2 global &key_construction_mutex
HALF_LOCKED2 global &key_types_sem

lib/assoc_array.c assoc_array_insert_into_terminal_node() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &from_keyring->sem
HALF_LOCKED2 &keyring->sem
HALF_LOCKED2 &user->cons_lock
HALF_LOCKED2 global &key_construction_mutex
HALF_LOCKED2 global &key_types_sem

lib/assoc_array.c assoc_array_insert_into_terminal_node() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &from_keyring->sem
HALF_LOCKED2 &keyring->sem
HALF_LOCKED2 &user->cons_lock
HALF_LOCKED2 global &key_construction_mutex
HALF_LOCKED2 global &key_types_sem

lib/assoc_array.c assoc_array_rcu_cleanup() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

lib/assoc_array.c assoc_array_subtree_iterate() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &keyring->sem

security/keys/keyring.c keyring_ptr_to_key() -> assoc_array_ptr_to_leaf()

Type Parameter Key Value
PARAM_VALUE 0 x 0,2-u64max
DATA_SOURCE 0 x $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &keyring->sem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read