Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/crypto/keyring.c add_new_master_key() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_decrypted_inodes.next 4096-ptr_max
PARAM_VALUE 0 mk->mk_decrypted_inodes.next->next 4096-ptr_max
PARAM_VALUE 0 mk->mk_decrypted_inodes.prev 4096-ptr_max
PARAM_VALUE 0 mk->mk_decrypted_inodes.prev->next 4096-ptr_max
PARAM_VALUE 0 mk->mk_decrypted_inodes.prev->prev 4096-ptr_max
PARAM_VALUE 0 mk->mk_mode_keys.next 4096-ptr_max
PARAM_VALUE 0 mk->mk_mode_keys.next->next 4096-ptr_max
PARAM_VALUE 0 mk->mk_mode_keys.prev 4096-ptr_max
PARAM_VALUE 0 mk->mk_mode_keys.prev->next 4096-ptr_max
PARAM_VALUE 0 mk->mk_mode_keys.prev->prev 4096-ptr_max
PARAM_VALUE 0 mk->mk_sem.count.counter 0
PARAM_VALUE 0 mk->mk_sem.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.first_waiter 0
PARAM_VALUE 0 mk->mk_sem.magic 4096-ptr_max
PARAM_VALUE 0 mk->mk_sem.osq.tail.counter 0
PARAM_VALUE 0 mk->mk_sem.owner.counter 0
PARAM_VALUE 0 mk->mk_spec.type 2
PARAM_VALUE 0 mk->mk_struct_refs.refs.counter 1
PARAM_VALUE 0 mk->mk_users.next 4096-ptr_max
PARAM_VALUE 0 mk->mk_users.next->next 4096-ptr_max
PARAM_VALUE 0 mk->mk_users.prev 4096-ptr_max
PARAM_VALUE 0 mk->mk_users.prev->next 4096-ptr_max
PARAM_VALUE 0 mk->mk_users.prev->prev 4096-ptr_max
BUF_SIZE 0 mk 648
DATA_SOURCE 0 mk r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 mk->mk_spec.__reserved 0
LOCK2 _T->lock

fs/crypto/keyring.c do_add_master_key() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_sem.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 mk->mk_sem.first_waiter->type 0-1
PARAM_VALUE 0 mk->mk_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 mk->mk_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner (-1)
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 mk->mk_spec.type 1-2
PARAM_VALUE 0 mk->mk_struct_refs.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &mk->mk_sem 1
DATA_SOURCE 0 mk r fscrypt_find_master_key
NOSPEC 0 mk->mk_secret.size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 mk->mk_secret.size 16-128[c]
LOCK2 _T->lock

fs/crypto/keyring.c do_remove_key() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_present 0
PARAM_VALUE 0 mk->mk_sem.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 mk->mk_sem.first_waiter->type 0-1
PARAM_VALUE 0 mk->mk_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 mk->mk_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner (-1)
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 mk->mk_spec.type 1-2
PARAM_VALUE 0 mk->mk_users.next 4096-ptr_max
CAPPED_DATA 0 &mk->mk_sem 1
CAPPED_DATA 0 &mk->mk_users 1
DATA_SOURCE 0 mk r fscrypt_find_master_key
NOCHECK_CALL

fs/crypto/keyring.c fscrypt_ioctl_get_key_status() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_sem.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mk->mk_sem.first_waiter->type 0-1
PARAM_VALUE 0 mk->mk_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner (-1)
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 mk->mk_spec.type 1-2
PARAM_VALUE 0 mk->mk_struct_refs.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &mk->mk_sem 1
CAPPED_DATA 0 &mk->mk_users 1
DATA_SOURCE 0 mk r fscrypt_find_master_key
NOCHECK_CALL

fs/crypto/keyring.c fscrypt_put_master_key_activeref() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_ino_hash_key_initialized 0
PARAM_VALUE 0 mk->mk_node->next->pprev 1-u64max
PARAM_VALUE 0 mk->mk_sem.first_waiter->type 0-1
CAPPED_DATA 0 &mk->mk_decrypted_inodes 1
CAPPED_DATA 0 &mk->mk_mode_keys 1
DATA_SOURCE 0 mk $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 0 &mk->mk_sem

fs/crypto/keyring.c fscrypt_verify_key_added() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_sem.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mk->mk_sem.first_waiter->type 0-1
PARAM_VALUE 0 mk->mk_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner (-1)
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 mk->mk_spec.type 1-2
PARAM_VALUE 0 mk->mk_struct_refs.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &mk->mk_sem 1
DATA_SOURCE 0 mk r fscrypt_find_master_key
NOCHECK_CALL
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/crypto/keysetup.c fscrypt_setup_encryption_info() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_present 1
PARAM_VALUE 0 mk->mk_secret.size 16-4294967295
PARAM_VALUE 0 mk->mk_sem.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 mk->mk_sem.first_waiter->type 0-1
PARAM_VALUE 0 mk->mk_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner (-1)
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 mk->mk_spec.type 1-2
PARAM_VALUE 0 mk->mk_struct_refs.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &mk->mk_sem 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mk->mk_sem

fs/crypto/keysetup.c setup_file_encryption_key() -> fscrypt_put_master_key()

Type Parameter Key Value
PARAM_VALUE 0 mk 4096-ptr_max
PARAM_VALUE 0 mk->mk_sem.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 mk->mk_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 mk->mk_sem.first_waiter->type 0-1
PARAM_VALUE 0 mk->mk_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner (-1)
PARAM_VALUE 0 mk->mk_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 mk->mk_spec.type 1-2
PARAM_VALUE 0 mk->mk_struct_refs.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &mk->mk_sem 1
DATA_SOURCE 0 mk r fscrypt_find_master_key
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL