Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/crypto/keysetup.c fscrypt_is_key_prepared() -> fscrypt_using_inline_encryption()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->ci_inode 4096-ptr_max
PARAM_VALUE 0 ci->ci_inode->i_sb 4096-ptr_max
BUF_SIZE 0 ci (-1)-s32max
BUF_SIZE 0 ci (-1)-s32max
BUF_SIZE 0 ci->ci_inode (-1),4,24,64,168-s32max
CAPPED_DATA 0 ci->ci_data_unit_bits 1
DATA_SOURCE 0 ci $1
STR_LEN 0 ci->ci_inode (-1)-1010101
STR_LEN 0 ci->ci_inode->i_sb (-1)
NOSPEC 0 ci->ci_inode->i_bytes
NOSPEC 0 ci->ci_inode->i_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ci->ci_inode->__i_nlink 1-u32max
USER_DATA 0 ci->ci_inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 ci->ci_inode->i_bytes 0-511[c]
USER_DATA 0 ci->ci_inode->i_ino 0-u64max
USER_DATA 0 ci->ci_inode->i_mode 0-u16max
USER_DATA 0 ci->ci_inode->i_rdev 0-u32max[c]
USER_DATA 0 ci->ci_inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 ci->ci_data_unit_bits
NO_OVERFLOW_SIMPLE 0 ci->ci_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 ci->ci_inode->i_linklen
LOCK2 &mk->mk_sem
LOCK2 rcu_read
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct fscrypt_master_key)->mk_sem

fs/crypto/keysetup.c fscrypt_prepare_key() -> fscrypt_using_inline_encryption()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->ci_inode 4096-ptr_max
PARAM_VALUE 0 ci->ci_inode->i_sb 4096-ptr_max
BUF_SIZE 0 ci (-1)-s32max
BUF_SIZE 0 ci (-1)-s32max
BUF_SIZE 0 ci->ci_inode (-1),1-s32max
CAPPED_DATA 0 ci->ci_inode->i_sb 1
CAPPED_DATA 0 ci->ci_mode 1
CAPPED_DATA 0 ci->ci_mode->keysize 1
DATA_SOURCE 0 ci $2
STR_LEN 0 ci->ci_inode (-1)-1010101
STR_LEN 0 ci->ci_inode->i_sb (-1)
NOSPEC 0 ci->ci_inode->i_bytes
NOSPEC 0 ci->ci_inode->i_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ci->ci_inode->__i_nlink 1-u32max
USER_DATA 0 ci->ci_inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 ci->ci_inode->i_bytes 0-511[c]
USER_DATA 0 ci->ci_inode->i_ino 0-u64max
USER_DATA 0 ci->ci_inode->i_mode 0-u16max
USER_DATA 0 ci->ci_inode->i_rdev 0-u32max[c]
USER_DATA 0 ci->ci_inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 ci->ci_data_unit_bits
NO_OVERFLOW_SIMPLE 0 ci->ci_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 ci->ci_inode->i_linklen
HALF_LOCKED2 &mk->mk_sem
HALF_LOCKED2 _T->lock

fs/crypto/keysetup_v1.c fscrypt_is_key_prepared() -> fscrypt_using_inline_encryption()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->ci_inode 4096-ptr_max
PARAM_VALUE 0 ci->ci_inode->i_sb 4096-ptr_max
BUF_SIZE 0 ci (-1),1-s32max
BUF_SIZE 0 ci (-1),1-s32max
BUF_SIZE 0 ci->ci_inode (-1),1-s32max
CAPPED_DATA 0 ci->ci_inode->i_sb 1
CAPPED_DATA 0 ci->ci_mode 1
CAPPED_DATA 0 ci->ci_mode->keysize 1
DATA_SOURCE 0 ci $1
STR_LEN 0 ci->ci_inode (-1)-1010101
STR_LEN 0 ci->ci_inode->i_sb (-1)
BIT_INFO 0 ci->ci_policy.v1.flags 0x4,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ci->ci_inode->__i_nlink 1-u32max
USER_DATA 0 ci->ci_inode->i_atime_nsec 0-u32max
USER_DATA 0 ci->ci_inode->i_atime_sec 0-4294967295
USER_DATA 0 ci->ci_inode->i_blocks 0-18014398509481983,18428729675200069632-u64max
USER_DATA 0 ci->ci_inode->i_bytes 0-511[c]
USER_DATA 0 ci->ci_inode->i_ino 0-u64max
USER_DATA 0 ci->ci_inode->i_mode 0-u16max
USER_DATA 0 ci->ci_inode->i_mtime_nsec 0-u32max
USER_DATA 0 ci->ci_inode->i_mtime_sec 0-4294967295
USER_DATA 0 ci->ci_inode->i_rdev 0-u32max[c]
USER_DATA 0 ci->ci_inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 ci->ci_data_unit_bits
NO_OVERFLOW_SIMPLE 0 ci->ci_inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 ci->ci_inode->i_linklen
LOCK2 global &fscrypt_direct_keys_lock
HALF_LOCKED2 &key->sem
HALF_LOCKED2 &mk->mk_sem