Defined in 1 files as a function:

Referenced in 4 files:

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