Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

security/keys/request_key.c construct_alloc_key() -> __key_link_lock()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 1 index_key 4096-ptr_max
PARAM_VALUE 1 index_key->description 1-u64max
PARAM_VALUE 1 index_key->type 4096-ptr_max
DATA_SOURCE 0 keyring $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
LOCK2 &user->cons_lock
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem
TYPE_LOCK (struct key_user)->cons_lock

security/keys/key.c __key_create_or_update() -> __key_link_lock()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->type 9142442151112187904
PARAM_VALUE 1 index_key 5936470887294271488
PARAM_VALUE 1 index_key->description 1-u64max
PARAM_VALUE 1 index_key->type 4096-ptr_max
PARAM_VALUE 1 index_key->x 0
DATA_SOURCE 0 keyring r key_ref_to_ptr
RX_PATH
TASK_NOT_RUNNING
USER_PTR 1 index_key->description
LOCK2 global &key_types_sem

security/keys/key.c key_instantiate_and_link() -> __key_link_lock()

Type Parameter Key Value
PARAM_VALUE 0 keyring 1-u64max
PARAM_VALUE 1 index_key 4096-ptr_max
BUF_SIZE 0 keyring (-1)-s32max
BUF_SIZE 0 keyring (-1)-s32max
DATA_SOURCE 0 keyring $3
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
HALF_LOCKED2 &inode->i_rwsem

security/keys/key.c key_reject_and_link() -> __key_link_lock()

Type Parameter Key Value
PARAM_VALUE 0 keyring 4096-ptr_max
PARAM_VALUE 0 keyring->restrict_link 0
PARAM_VALUE 1 index_key 4096-ptr_max
DATA_SOURCE 0 keyring $3
RX_PATH

security/keys/keyring.c key_link() -> __key_link_lock()

Type Parameter Key Value
PARAM_VALUE 0 keyring->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 keyring->sem.first_waiter->type 0-1
PARAM_VALUE 1 index_key 264,4096-ptr_max
BUF_SIZE 0 keyring (-1)-s32max
BUF_SIZE 0 keyring (-1)-s32max
DATA_SOURCE 0 keyring $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 keyring->quotalen
NO_OVERFLOW_SIMPLE 0 keyring->user->qnbytes
HALF_LOCKED2 &user_ns->keyring_sem
HALF_LOCKED2 global &key_types_sem