Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/crypto/keysetup_v1.c find_or_insert_direct_key() -> free_direct_key()

Type Parameter Key Value
PARAM_VALUE 0 dk 0,4096-ptr_max
PARAM_VALUE 0 dk->dk_mode 4096-ptr_max
PARAM_VALUE 0 dk->dk_mode->blk_crypto_mode 0-4
PARAM_VALUE 0 dk->dk_mode->keysize 16,32,64
PARAM_VALUE 0 dk->dk_mode->security_strength 16,32
PARAM_VALUE 0 dk->dk_refcount.refs.counter 1
PARAM_VALUE 0 dk->dk_sb 4096-ptr_max
BUF_SIZE 0 dk (-1),128
BUF_SIZE 0 dk (-1),128
DATA_SOURCE 0 dk $0
STR_LEN 0 dk->dk_sb (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &key->sem
HALF_LOCKED2 &mk->mk_sem

fs/crypto/keysetup_v1.c fscrypt_get_direct_key() -> free_direct_key()

Type Parameter Key Value
PARAM_VALUE 0 dk 4096-ptr_max
PARAM_VALUE 0 dk->dk_mode 4096-ptr_max
PARAM_VALUE 0 dk->dk_mode->blk_crypto_mode 0-4
PARAM_VALUE 0 dk->dk_mode->keysize 16,32,64
PARAM_VALUE 0 dk->dk_mode->security_strength 16,32
PARAM_VALUE 0 dk->dk_refcount.refs.counter 1
PARAM_VALUE 0 dk->dk_sb 4096-ptr_max
BUF_SIZE 0 dk 128
CAPPED_DATA 0 dk->dk_mode->keysize 1
DATA_SOURCE 0 dk r _kzalloc_noprof
STR_LEN 0 dk->dk_sb (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &key->sem
HALF_LOCKED2 &mk->mk_sem

fs/crypto/keysetup_v1.c fscrypt_put_direct_key() -> free_direct_key()

Type Parameter Key Value
PARAM_VALUE 0 dk 4096-ptr_max
PARAM_VALUE 0 dk->dk_node->next->pprev 1-u64max
PARAM_VALUE 0 dk->dk_node.next 0
PARAM_VALUE 0 dk->dk_node.next->pprev 1-u64max
PARAM_VALUE 0 dk->dk_node.pprev 0
DATA_SOURCE 0 dk $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL