Defined in 1 files as a macro:

Defined in 1 files as a function:

Referenced in 21 files:

Smatch caller information:

block/sed-opal.c read_sed_opal_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
CAPABLE 0 21
HALF_LOCKED2 &dev->dev_lock

block/sed-opal.c update_sed_opal_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1

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

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen
HALF_LOCKED2 &idmap->idmap_mutex
HALF_LOCKED2 global &key_types_sem

net/rxrpc/security.c rxrpc_look_up_server_security() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1
LOCK2 &conn->local->services_lock
LOCK2 &pool->lock
TYPE_LOCK (struct rxrpc_local)->services_lock

lib/digsig.c digsig_verify() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key $0
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &inode->i_rwsem

security/integrity/digsig.c integrity_add_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
PARAM_VALUE 1 possession 1

drivers/platform/cznic/turris-signing-key.c devm_turris_signing_key_create() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING

security/keys/proc.c proc_keys_show() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

security/keys/proc.c proc_keys_show() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
BIT_INFO 0 key->perm 0x1000000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

fs/afs/cm_security.c afs_create_token_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key r keyring_alloc
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 global &pernet_ops_rwsem

net/rxrpc/rxperf.c rxperf_add_rxkad_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key $0
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes

net/rxrpc/rxperf.c rxperf_add_yfs_rxgk_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
CAPPED_DATA 0 key 1
DATA_SOURCE 0 key $0
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes

security/keys/persistent.c key_create_persistent() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
PARAM_VALUE 1 possession 1
LOCK2 &ns->keyring_sem
TYPE_LOCK (struct user_namespace)->keyring_sem

security/keys/persistent.c key_create_persistent() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key r keyring_alloc
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 &ns->keyring_sem
TYPE_LOCK (struct user_namespace)->keyring_sem

security/keys/persistent.c key_get_persistent() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
PARAM_VALUE 1 possession 1

certs/blacklist.c add_key_to_revocation_list() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1

certs/blacklist.c is_hash_blacklisted() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iint->mutex

certs/blacklist.c mark_raw_hash_blacklisted() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1

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

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
DATA_SOURCE 0 key r key_alloc
NOSPEC 0 key->datalen
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 key->datalen 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 &keyring->sem
LOCK2 global &key_types_sem
TYPE_LOCK (struct key)->sem

security/integrity/digsig_asymmetric.c request_asymmetric_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-u64max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key r get_ima_blacklist_keyring
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &inode->i_rwsem

security/integrity/digsig_asymmetric.c request_asymmetric_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key $0
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &inode->i_rwsem

security/keys/keyring.c find_key_to_update() -> make_key_ref()

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
LOCK2 rcu_read
HALF_LOCKED2 &keyring->sem
HALF_LOCKED2 &ns->keyring_sem
HALF_LOCKED2 global &key_types_sem

security/keys/keyring.c find_keyring_by_name() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 0
RX_PATH
LOCK2 global &key_session_mutex
LOCK2 global &keyring_name_lock

security/keys/keyring.c keyring_search_iterator() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
CAPPED_DATA 0 key 1
CAPPED_DATA 0 key->type 1
DATA_SOURCE 0 key r keyring_ptr_to_key
RX_PATH
TASK_NOT_RUNNING

security/keys/keyring.c keyring_search_iterator() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
CAPPED_DATA 0 key 1
CAPPED_DATA 0 key->type 1
DATA_SOURCE 0 key r keyring_ptr_to_key
RX_PATH
TASK_NOT_RUNNING

security/keys/keyring.c search_nested_keyrings() -> make_key_ref()

Type Parameter Key Value
DATA_SOURCE 0 key r keyring_ptr_to_key
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

certs/system_keyring.c add_to_secondary_keyring() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1

drivers/nvme/common/keyring.c nvme_tls_psk_lookup() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 0,4096-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key $0 [m]
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &nvmf_dev_mutex

drivers/nvme/common/keyring.c nvme_tls_psk_refresh() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 0,4096-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key $0 [m]
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

crypto/asymmetric_keys/x509_loader.c x509_load_certificate_list() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key $2
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes

crypto/asymmetric_keys/asymmetric_type.c find_asymmetric_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 1 possession 1
BUF_SIZE 0 key (-1)-s32max
BUF_SIZE 0 key (-1)-s32max
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 &dest_keyring->sem
HALF_LOCKED2 0 &key->sem

security/keys/process_keys.c get_user_session_keyring_rcu() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read

security/keys/process_keys.c look_up_user_keyrings() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 0-ptr_max
PARAM_VALUE 1 possession 1
BUF_SIZE 0 key (-1)-s32max
BUF_SIZE 0 key (-1)-s32max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 &user_ns->keyring_sem
TYPE_LOCK (struct user_namespace)->keyring_sem

security/keys/process_keys.c look_up_user_keyrings() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 0-ptr_max
PARAM_VALUE 1 possession 1
BUF_SIZE 0 key (-1)-s32max
BUF_SIZE 0 key (-1)-s32max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes
LOCK2 &user_ns->keyring_sem
TYPE_LOCK (struct user_namespace)->keyring_sem

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 key->quotalen
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c lookup_user_key() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 0
CAPPED_DATA 0 key->serial 1
DATA_SOURCE 0 key r key_lookup
NOSPEC 0 key->serial
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 key->serial 1-s32max[c]
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk

security/keys/process_keys.c search_cred_keyrings_rcu() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read

security/keys/process_keys.c search_cred_keyrings_rcu() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read

security/keys/process_keys.c search_cred_keyrings_rcu() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 1-u64max
PARAM_VALUE 1 possession 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read

security/keys/process_keys.c search_cred_keyrings_rcu() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key r get_user_session_keyring_rcu
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read

drivers/md/dm-verity-verify-sig.c dm_verity_verify_sig_init() -> make_key_ref()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 1 possession 1
DATA_SOURCE 0 key r keyring_alloc
NO_OVERFLOW_SIMPLE 0 key->quotalen
NO_OVERFLOW_SIMPLE 0 key->user->qnbytes