Defined in 1 files as a function:
Referenced in 4 files:
- crypto/asymmetric_keys/restrict.c
- include/linux/key.h, line 315
- security/keys/keyring.c
- security/keys/process_keys.c
Smatch caller information:
fs/afs/security.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| DATA_SOURCE | 0 | key | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| UNITS | 0 | key | unit_byte |
| HALF_LOCKED2 | global &afs_permits_lock |
security/keys/request_key_auth.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->sem.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | key->sem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | key->sem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | key->sem.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | key | $0 |
| STR_LEN | 0 | key | (-1),6 |
| STR_LEN | 0 | key | (-1),6 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| HALF_LOCKED2 | &idmap->idmap_mutex | ||
| HALF_LOCKED2 | global &key_types_sem |
fs/afs/flock.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| PARAM_VALUE | 0 | key->sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | key->sem.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | key | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | key | unit_byte |
| LOCK2 | &vnode->lock | ||
| TYPE_LOCK | (struct afs_vnode)->lock |
net/rxrpc/conn_client.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | key | unit_byte |
| HALF_LOCKED2 | &call->user_mutex |
security/keys/request_key.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| PARAM_VALUE | 0 | key->sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | key->sem.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| NO_OVERFLOW_SIMPLE | 0 | key->user->qnbytes | |
| HALF_LOCKED2 | &authkey->sem |
fs/nfs/nfs4idmap.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->domain_tag | 4096-ptr_max |
| PARAM_VALUE | 0 | key->index_key->desc | 0-255 |
| PARAM_VALUE | 0 | key->index_key.description | 1-u64max |
| PARAM_VALUE | 0 | key->index_key.domain_tag->rcu.func | 0 |
| PARAM_VALUE | 0 | key->index_key.domain_tag->rcu.next | 0 |
| PARAM_VALUE | 0 | key->index_key.domain_tag->removed | 0 |
| PARAM_VALUE | 0 | key->index_key.domain_tag->usage.refs.counter | 1 |
| PARAM_VALUE | 0 | key->index_key.type | 4096-ptr_max |
| PARAM_VALUE | 0 | key->restrict_link | 0,4096-ptr_max |
| PARAM_VALUE | 0 | key->restrict_link->check | 2597709569863184384,5988328617028292608,6748553998896947200,6954271548785111040,7527111731098238976 |
| PARAM_VALUE | 0 | key->security | 0,4096-ptr_max |
| PARAM_VALUE | 0 | key->sem.count.counter | 0 |
| PARAM_VALUE | 0 | key->sem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->sem.first_waiter | 0 |
| PARAM_VALUE | 0 | key->sem.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | key->sem.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | key->sem.owner.counter | 0 |
| PARAM_VALUE | 0 | key->serial | 3-s32max |
| PARAM_VALUE | 0 | key->serial_node.__rb_parent_color | 1 |
| PARAM_VALUE | 0 | key->serial_node.rb_left | 4096-ptr_max |
| PARAM_VALUE | 0 | key->serial_node.rb_right | 4096-ptr_max |
| PARAM_VALUE | 0 | key->type | 4096-ptr_max |
| PARAM_VALUE | 0 | key->user | 1-u64max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| NO_OVERFLOW_SIMPLE | 0 | key->user->qnbytes | |
| HALF_LOCKED2 | &idmap->idmap_mutex | ||
| HALF_LOCKED2 | global &key_types_sem |
fs/afs/file.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| BUF_SIZE | 0 | key | (-1)-s32max |
| BUF_SIZE | 0 | key | (-1)-s32max |
| DATA_SOURCE | 0 | key | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| HALF_LOCKED2 | &vnode->wb_lock |
fs/ecryptfs/keystore.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->expiry | (-9223372036854775807)-s64max |
| PARAM_VALUE | 0 | key->sem.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | key->sem.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | key->sem.wait_lock.owner_cpu | u32max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &mount_crypt_stat->global_auth_tok_list_mutex | ||
| LOCK2 | &walker->global_auth_tok_key->sem | ||
| HALF_LOCKED2 | &crypt_stat->cs_mutex | ||
| HALF_LOCKED2 | &crypt_stat->keysig_list_mutex | ||
| TYPE_LOCK | (struct ecryptfs_mount_crypt_stat)->global_auth_tok_list_mutex | ||
| TYPE_LOCK | (struct key)->sem |
fs/afs/write.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->expiry | (-9223372036854775807)-s64max |
| DATA_SOURCE | 0 | key | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vnode->wb_lock | ||
| TYPE_LOCK | (struct afs_vnode)->wb_lock |
fs/afs/dir_silly.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| PARAM_VALUE | 0 | key->sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | key->sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | key->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | key->user->qnkeys | s32min-s32max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| UNITS | 0 | key | unit_byte |
| HALF_LOCKED2 | &dvnode->rmdir_lock | ||
| HALF_LOCKED2 | &target->i_rwsem |
security/keys/keyctl.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| DATA_SOURCE | 0 | key | $0 |
security/keys/keyring.c __key_link() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | key->sem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | key | (-1)-s32max |
| BUF_SIZE | 0 | key | (-1)-s32max |
| CAPPED_DATA | 0 | key | 1 |
| DATA_SOURCE | 0 | key | $1 |
| STR_LEN | 0 | key | (-1)-127 |
| STR_LEN | 0 | key | (-1)-127 |
| NOSPEC | 0 | key->datalen | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | key->datalen | 0-u16max[c] |
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| NO_OVERFLOW_SIMPLE | 0 | key->user->qnbytes | |
| HALF_LOCKED2 | &from_keyring->sem | ||
| HALF_LOCKED2 | &keyring->sem | ||
| HALF_LOCKED2 | &user->cons_lock | ||
| HALF_LOCKED2 | global &key_construction_mutex |
security/keys/keyring.c find_key_to_update() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| DATA_SOURCE | 0 | key | r keyring_ptr_to_key |
| BIT_INFO | 0 | key->flags | 0x0,0xffffffffffffffdd |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &keyring->sem | ||
| HALF_LOCKED2 | &ns->keyring_sem | ||
| HALF_LOCKED2 | global &key_types_sem |
security/keys/keyring.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->domain_tag->removed | 0 |
| DATA_SOURCE | 0 | key | $0 |
| LOCK2 | &keyring->sem | ||
| LOCK2 | &pool->lock | ||
| TYPE_LOCK | (struct key)->sem |
security/keys/keyring.c keyring_search_rcu() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 0,2-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | rcu_read |
fs/afs/fs_operation.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| PARAM_VALUE | 0 | key->sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | key->sem.first_waiter->type | 0-1 |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| UNITS | 0 | key | unit_byte |
| HALF_LOCKED2 | &vnode->validate_lock |
crypto/asymmetric_keys/restrict.c key_or_keyring_common() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->type | 2816195182958821376 |
| DATA_SOURCE | 0 | key | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dest_keyring->sem | ||
| HALF_LOCKED2 | global &key_types_sem | ||
| TYPE_LOCK | (struct key)->sem |
crypto/asymmetric_keys/restrict.c key_or_keyring_common() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->type | 2816195182958821376 |
| DATA_SOURCE | 0 | key | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dest_keyring->sem | ||
| HALF_LOCKED2 | global &key_types_sem | ||
| TYPE_LOCK | (struct key)->sem |
crypto/asymmetric_keys/restrict.c key_or_keyring_common() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->type | 2816195182958821376 |
| DATA_SOURCE | 0 | key | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &dest_keyring->sem | ||
| HALF_LOCKED2 | global &key_types_sem | ||
| TYPE_LOCK | (struct key)->sem |
net/rxrpc/call_object.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| BUF_SIZE | 0 | key | (-1)-s32max |
| BUF_SIZE | 0 | key | (-1)-s32max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | key | unit_byte |
| LOCK2 | &rx->sk | ||
| TYPE_LOCK | (struct rxrpc_sock)->sk |
kernel/cred.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &cache->daemon_mutex | ||
| HALF_LOCKED2 | global &event_mutex |
security/keys/process_keys.c install_session_keyring_to_cred() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| BUF_SIZE | 0 | key | (-1),1-s32max |
| BUF_SIZE | 0 | key | (-1),1-s32max |
| DATA_SOURCE | 0 | key | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| NO_OVERFLOW_SIMPLE | 0 | key->user->qnbytes | |
| HALF_LOCKED2 | global &key_session_mutex |
security/keys/process_keys.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
security/keys/process_keys.c lookup_user_key() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | sk |
security/keys/process_keys.c lookup_user_key() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | sk |
security/keys/process_keys.c lookup_user_key() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | sk |
security/keys/process_keys.c lookup_user_key() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | sk |
security/keys/process_keys.c lookup_user_key() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &ctx.cred->request_key_auth->sem | ||
| HALF_LOCKED2 | &dev->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct key)->sem |
net/rxrpc/server_key.c key_get() -> __key_get()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| DATA_SOURCE | 0 | key | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | key->quotalen | |
| NO_OVERFLOW_SIMPLE | 0 | key->user->qnbytes | |
| LOCK2 | sk | ||
| HALF_LOCKED2 | global &pernet_ops_rwsem |