Defined in 1 files as a macro:

Defined in 1 files as a function:

Referenced in 17 files:

Smatch caller information:

fs/afs/security.c afs_cache_permit() -> key_get()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 key unit_byte
LOCK2 global &afs_permits_lock

fs/afs/security.c afs_request_key() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen

fs/afs/security.c afs_request_key_rcu() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex

security/keys/request_key_auth.c request_key_auth_new() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->expiry s64max
PARAM_VALUE 0 key->perm 0,65536,851968,4128768,134217728,134283264,137297920,151584768,184614912,201523200,202047488,252641280,252641291,453050368,520159232,520290304,520814592,521076736,522125312,524222464,956366848,989921280,1023475712-u32max
PARAM_VALUE 0 key->revoked_at s64max
PARAM_VALUE 0 key->sem.count.counter 0
PARAM_VALUE 0 key->sem.first_waiter 0
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
DATA_SOURCE 0 key $0
STR_LEN 0 key 6
STR_LEN 0 key 6
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

security/keys/request_key_auth.c request_key_auth_new() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->sem.dep_map->name 0-255
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
PARAM_VALUE 0 key->type 4096-ptr_max
DATA_SOURCE 0 key $4
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 afs_do_setlk() -> key_get()

Type Parameter Key Value
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 r afs_file_key
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 key unit_byte
LOCK2 &vnode->lock
TYPE_LOCK (struct afs_vnode)->lock

fs/afs/flock.c afs_lock_work() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
PREEMPT_ADD <- disables preempt
UNITS 0 key unit_byte
LOCK2 &vnode->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct afs_vnode)->lock

net/rxrpc/conn_client.c rxrpc_alloc_bundle() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 0,4096-ptr_max
PARAM_VALUE 0 key->expiry (-9223372036854775807)-s64max
PARAM_VALUE 0 key->revoked_at (-9223372036854775807)-s64max
CAPPED_DATA 0 key->expiry 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 key unit_byte
LOCK2 &call->user_mutex
HALF_LOCKED2 limiter
TYPE_LOCK (struct rxrpc_call)->user_mutex

net/rxrpc/conn_client.c rxrpc_alloc_client_connection() -> key_get()

Type Parameter Key Value
UNITS 0 key unit_byte

security/keys/request_key.c cache_requested_key() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 0,4096-ptr_max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING

security/keys/request_key.c call_usermodehelper_keys() -> 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->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.dep_map->name 0-255
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 0-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
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
PARAM_VALUE 0 key->user->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 key 1
DATA_SOURCE 0 key $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

security/keys/request_key.c check_cached_key() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
CAPPED_DATA 0 key 1
BIT_INFO 0 key->flags 0x0,0xffffffffffffffdd
RX_PATH
TASK_NOT_RUNNING

security/keys/request_key.c construct_get_dest_keyring() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

security/keys/request_key.c construct_get_dest_keyring() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &authkey->sem
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem
TYPE_LOCK (struct key)->sem

security/keys/request_key.c construct_get_dest_keyring() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

security/keys/request_key.c construct_get_dest_keyring() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

security/keys/request_key.c construct_get_dest_keyring() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

fs/nfs/nfs4idmap.c nfs_idmap_legacy_upcall() -> 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
PARAM_VALUE 0 key->user->lock.rlock.dep_map->name 0-255
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 afs_cache_wb_key() -> 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
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 key->quotalen
LOCK2 &vnode->wb_lock
TYPE_LOCK (struct afs_vnode)->wb_lock

fs/afs/file.c afs_init_request() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/ecryptfs/keystore.c ecryptfs_find_global_auth_tok_for_sig() -> 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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mount_crypt_stat->global_auth_tok_list_mutex
LOCK2 &walker->global_auth_tok_key->sem
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 afs_get_writeback_key() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->expiry (-9223372036854775807)-s64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vnode->wb_lock
TYPE_LOCK (struct afs_vnode)->wb_lock

fs/afs/dir_silly.c afs_silly_rename_edit_dir() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key->sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 key->sem.first_waiter->type 0-1
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 get_instantiation_keyring() -> key_get()

Type Parameter Key Value

security/keys/keyctl.c keyctl_change_reqkey_auth() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 0,4096-ptr_max
DATA_SOURCE 0 key $0

security/keys/keyring.c keyring_gc_select_iterator() -> 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 r keyring_ptr_to_key
NOCHECK_CALL
LOCK2 &keyring->sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct key)->sem

fs/afs/fs_operation.c afs_alloc_operation() -> 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
BUF_SIZE 0 key s32min-s32max
DATA_SOURCE 0 key $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 key->quotalen
UNITS 0 key unit_byte
HALF_LOCKED2 &vnode->validate_lock

net/rxrpc/call_object.c rxrpc_alloc_client_call() -> key_get()

Type Parameter Key Value
PARAM_VALUE 0 key 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 key unit_byte
LOCK2 &rx->sk
TYPE_LOCK (struct rxrpc_sock)->sk

kernel/cred.c prepare_creds() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cache->daemon_mutex
HALF_LOCKED2 global &event_mutex

kernel/cred.c prepare_creds() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cache->daemon_mutex
HALF_LOCKED2 global &event_mutex

kernel/cred.c prepare_creds() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cache->daemon_mutex
HALF_LOCKED2 global &event_mutex

kernel/cred.c prepare_creds() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cache->daemon_mutex
HALF_LOCKED2 global &event_mutex

security/keys/process_keys.c key_change_session_keyring() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

security/keys/process_keys.c key_change_session_keyring() -> key_get()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

net/rxrpc/server_key.c rxrpc_sock_set_security_keyring() -> key_get()

Type Parameter Key Value
DATA_SOURCE 0 key $1
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