Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 to_insert 0
PARAM_VALUE 2 ci 4096-ptr_max
PARAM_VALUE 2 ci->ci_inode 4096-ptr_max
PARAM_VALUE 2 ci->ci_inode->i_sb 4096-ptr_max
PARAM_VALUE 2 ci->ci_inode->i_sb->s_cop->get_dummy_policy 0,5548184023414632448,6265693363421687808,7944682147525111808
PARAM_VALUE 2 ci->ci_inode->i_sb->s_cop->legacy_key_prefix 0,924751349837991936,5264834109705359360,8765449967581011968
PARAM_VALUE 2 ci->ci_mode 4096-ptr_max
PARAM_VALUE 2 ci->ci_mode->blk_crypto_mode 0-4
PARAM_VALUE 2 ci->ci_mode->keysize 16,32,64
PARAM_VALUE 2 ci->ci_mode->security_strength 16,32
PARAM_VALUE 2 ci->ci_policy.v1.flags 4-255
PARAM_VALUE 2 ci->ci_policy.version 0
BUF_SIZE 1 raw_key 64,128
BUF_SIZE 1 raw_key 64,128
BUF_SIZE 2 ci (-1)-s32max
BUF_SIZE 2 ci (-1)-s32max
BUF_SIZE 2 ci->ci_inode (-1),1-s32max
CAPPED_DATA 2 ci->ci_mode->keysize 1
DATA_SOURCE 1 raw_key $1
DATA_SOURCE 2 ci $0
STR_LEN 2 ci->ci_inode (-1)-1010101
STR_LEN 2 ci->ci_inode->i_sb (-1)
BIT_INFO 2 ci->ci_policy.v1.flags 0x4,0xff
NOSPEC 2 ci->ci_inode->i_bytes
NOSPEC 2 ci->ci_inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 ci->ci_inode->__i_nlink 1-u32max
USER_DATA 2 ci->ci_inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 2 ci->ci_inode->i_bytes 0-511[c]
USER_DATA 2 ci->ci_inode->i_ino 0-u64max
USER_DATA 2 ci->ci_inode->i_mode 0-u16max
USER_DATA 2 ci->ci_inode->i_rdev 0-u32max[c]
USER_DATA 2 ci->ci_inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 2 ci->ci_data_unit_bits
NO_OVERFLOW_SIMPLE 2 ci->ci_inode->i_blkbits
NO_OVERFLOW_SIMPLE 2 ci->ci_inode->i_linklen
HALF_LOCKED2 &key->sem
HALF_LOCKED2 &mk->mk_sem

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

Type Parameter Key Value
PARAM_VALUE 0 to_insert 4096-ptr_max
PARAM_VALUE 0 to_insert->dk_mode 4096-ptr_max
PARAM_VALUE 0 to_insert->dk_mode->blk_crypto_mode 0-4
PARAM_VALUE 0 to_insert->dk_mode->keysize 16,32,64
PARAM_VALUE 0 to_insert->dk_mode->security_strength 16,32
PARAM_VALUE 0 to_insert->dk_refcount.refs.counter 1
PARAM_VALUE 0 to_insert->dk_sb 4096-ptr_max
PARAM_VALUE 2 ci 4096-ptr_max
PARAM_VALUE 2 ci->ci_inode 4096-ptr_max
PARAM_VALUE 2 ci->ci_inode->i_sb 4096-ptr_max
PARAM_VALUE 2 ci->ci_inode->i_sb->s_cop->get_devices 0,5687811845560967168
PARAM_VALUE 2 ci->ci_inode->i_sb->s_cop->get_dummy_policy 0,5548184023414632448,6265693363421687808,7944682147525111808
PARAM_VALUE 2 ci->ci_inode->i_sb->s_cop->legacy_key_prefix 0,924751349837991936,5264834109705359360,8765449967581011968
PARAM_VALUE 2 ci->ci_mode 4096-ptr_max
PARAM_VALUE 2 ci->ci_mode->blk_crypto_mode 0-4
PARAM_VALUE 2 ci->ci_mode->cipher_str 1-u64max
PARAM_VALUE 2 ci->ci_mode->ivsize 16,32
PARAM_VALUE 2 ci->ci_mode->keysize 16,32,64
PARAM_VALUE 2 ci->ci_mode->security_strength 16,32
PARAM_VALUE 2 ci->ci_policy.v1.flags 4-255
PARAM_VALUE 2 ci->ci_policy.version 0
BUF_SIZE 0 to_insert 128
BUF_SIZE 1 raw_key 64,128
BUF_SIZE 1 raw_key 64,128
BUF_SIZE 2 ci (-1)-s32max
BUF_SIZE 2 ci (-1)-s32max
BUF_SIZE 2 ci->ci_inode (-1),1-s32max
CAPPED_DATA 0 to_insert->dk_mode->keysize 1
CAPPED_DATA 2 ci->ci_inode->i_sb 1
CAPPED_DATA 2 ci->ci_mode->ivsize 1
CAPPED_DATA 2 ci->ci_mode->keysize 1
DATA_SOURCE 0 to_insert r _kzalloc_noprof
DATA_SOURCE 1 raw_key $1
DATA_SOURCE 2 ci $0
STR_LEN 0 to_insert->dk_sb (-1)
STR_LEN 2 ci->ci_inode (-1)-1010101
STR_LEN 2 ci->ci_inode->i_sb (-1)
BIT_INFO 2 ci->ci_policy.v1.flags 0x4,0xffffffffffffffff
NOSPEC 2 ci->ci_inode->i_bytes
NOSPEC 2 ci->ci_inode->i_ino
NOSPEC 2 ci->ci_inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 ci->ci_inode->__i_nlink 1-u32max
USER_DATA 2 ci->ci_inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 2 ci->ci_inode->i_bytes 0-511[c]
USER_DATA 2 ci->ci_inode->i_ino 0-u64max
USER_DATA 2 ci->ci_inode->i_mode 0-u16max
USER_DATA 2 ci->ci_inode->i_rdev 0-u32max[c]
USER_DATA 2 ci->ci_inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 2 ci->ci_data_unit_bits
NO_OVERFLOW_SIMPLE 2 ci->ci_inode->i_blkbits
NO_OVERFLOW_SIMPLE 2 ci->ci_inode->i_linklen
HALF_LOCKED2 &key->sem
HALF_LOCKED2 &mk->mk_sem