Defined in 1 files as a macro:

Defined in 1 files as a function:

Referenced in 16 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
DATA_SOURCE 0 key_ref r keyring_search
CAPABLE 0 21
NOCHECK_CALL
HALF_LOCKED2 &dev->dev_lock

fs/crypto/keyring.c get_keyring_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/request_key.c request_key_and_link() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 4096-ptr_max
DATA_SOURCE 0 key_ref r search_process_keyrings_rcu
RX_PATH
NOCHECK_CALL
LOCK2 global &key_types_sem

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
NOCHECK_CALL

kernel/crash_dump_dm_crypt.c add_key_to_keyring() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

kernel/crash_dump_dm_crypt.c restore_dm_crypt_keys_to_thread_keyring() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

net/handshake/tlshd.c tls_handshake_private_keyring() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

net/handshake/tlshd.c tls_handshake_private_keyring() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 4096-ptr_max
DATA_SOURCE 0 key_ref r search_cred_keyrings_rcu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
NOCHECK_CALL

security/keys/keyctl.c __do_sys_add_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
NOCHECK_CALL

security/keys/keyctl.c __do_sys_add_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c __do_sys_add_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
NOCHECK_CALL

security/keys/keyctl.c __do_sys_add_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c __do_sys_request_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c __do_sys_request_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c keyctl_describe_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c keyctl_get_keyring_ID() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_get_security() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c keyctl_invalidate_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_clear() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_link() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_link() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_move() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_move() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_move() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_search() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
DATA_SOURCE 0 key_ref r keyring_search
NOCHECK_CALL
LOCK2 global &key_types_sem

security/keys/keyctl.c keyctl_keyring_search() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_search() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_unlink() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_keyring_unlink() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_restrict_keyring() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_revoke_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
NOCHECK_CALL

security/keys/keyctl.c keyctl_session_to_parent() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

security/keys/keyctl.c keyctl_update_key() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 1-u64max
NOCHECK_CALL

security/keys/persistent.c keyctl_get_persistent() -> key_ref_put()

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0,4096-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r lookup_user_key
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
DATA_SOURCE 0 key_ref r keyring_search
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &iint->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 1-u64max
DATA_SOURCE 0 key_ref r find_key_to_update
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &keyring->sem
LOCK2 global &key_types_sem
HALF_LOCKED2 global &pernet_ops_rwsem
TYPE_LOCK (struct key)->sem

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 1-u64max
DATA_SOURCE 0 key_ref r find_key_to_update
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &key_types_sem
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 0-ptr_max
BUF_SIZE 0 key_ref (-1)-s32max
BUF_SIZE 0 key_ref (-1)-s32max
DATA_SOURCE 0 key_ref r key_create_or_update
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 key_ref 4096-18446744073709547521
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 sk