Defined in 1 files as a macro:
Defined in 1 files as a function:
Referenced in 21 files:
- arch/s390/kernel/cert_store.c
- block/sed-opal.c
- certs/blacklist.c
- certs/system_keyring.c, line 172
- crypto/asymmetric_keys/asymmetric_type.c, line 90
- crypto/asymmetric_keys/x509_loader.c, line 31
- drivers/md/dm-verity-verify-sig.c, line 189
- drivers/nvme/common/keyring.c
- drivers/platform/cznic/turris-signing-key.c, line 141
- fs/afs/cm_security.c, line 159
- lib/digsig.c, line 215
- net/rxrpc/rxperf.c
- net/rxrpc/security.c, line 191
- security/integrity/digsig.c, line 179
- security/integrity/digsig_asymmetric.c
- security/keys/key.c, line 951
- security/keys/keyring.c
- security/keys/persistent.c
- security/keys/proc.c
- security/keys/process_keys.c
- security/keys/request_key.c, line 348
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 |