Documented in 2 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 17 files:

Smatch caller information:

security/keys/trusted-keys/trusted_tee.c trusted_tee_get_random() -> tee_shm_free()

Type Parameter Key Value
DATA_SOURCE 0 shm r tee_shm_register_kernel_buf
NOCHECK_CALL

security/keys/trusted-keys/trusted_tee.c trusted_tee_seal() -> tee_shm_free()

Type Parameter Key Value
DATA_SOURCE 0 shm r tee_shm_register_kernel_buf
NOCHECK_CALL

security/keys/trusted-keys/trusted_tee.c trusted_tee_unseal() -> tee_shm_free()

Type Parameter Key Value
DATA_SOURCE 0 shm r tee_shm_register_kernel_buf
NOCHECK_CALL

drivers/tee/tee_shm.c tee_shm_alloc_user_buf() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
PARAM_VALUE 0 shm->ctx 4096-ptr_max
PARAM_VALUE 0 shm->ctx->teedev 4096-ptr_max
PARAM_VALUE 0 shm->flags 4-5,12
PARAM_VALUE 0 shm->id 0-s32max
PARAM_VALUE 0 shm->kaddr 1-u64max
PARAM_VALUE 0 shm->refcount.refs.counter 1
BUF_SIZE 0 shm 80
BUF_SIZE 0 shm->ctx s32min-(-2),1-s32max
DATA_SOURCE 0 shm r shm_alloc_helper
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 shm->num_pages

drivers/tee/tee_shm.c tee_shm_register_user_buf() -> tee_shm_free()

Type Parameter Key Value
DATA_SOURCE 0 shm r register_shm_helper
NOCHECK_CALL

drivers/firmware/qcom/qcom_pas_tee.c __free_shm_free() -> tee_shm_free()

Type Parameter Key Value
BIT_INFO 0 shm 0x0,0x7fffffffffffffff
BIT_INFO 0 shm 0x0,0x7fffffffffffffff
NOCHECK_CALL

drivers/firmware/qcom/qcom_pas_tee.c qcom_pas_tee_init_image() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
BUF_SIZE 0 shm 80
DATA_SOURCE 0 shm r tee_shm_alloc_kernel_buf
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/firmware/qcom/qcom_pas_tee.c qcom_pas_tee_init_image() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
PARAM_VALUE 0 shm->kaddr 1-u64max
PARAM_VALUE 0 shm->size 1-u64max
BUF_SIZE 0 shm 80
DATA_SOURCE 0 shm r tee_shm_alloc_kernel_buf
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/firmware/qcom/qcom_pas_tee.c qcom_pas_tee_init_image() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
PARAM_VALUE 0 shm->kaddr 1-u64max
PARAM_VALUE 0 shm->size 1-u64max
BUF_SIZE 0 shm 80
DATA_SOURCE 0 shm r tee_shm_alloc_kernel_buf
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/firmware/qcom/qcom_pas_tee.c qcom_pas_tee_metadata_release() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 1-u64max
BUF_SIZE 0 shm 80
NOCHECK_CALL

drivers/tee/qcomtee/shm.c qcomtee_msg_buffers_alloc() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
BUF_SIZE 0 shm 80
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/tee/qcomtee/shm.c qcomtee_msg_buffers_free() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/tee/qcomtee/shm.c qcomtee_msg_buffers_free() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/firmware/broadcom/tee_bnxt_fw.c tee_bnxt_fw_remove() -> tee_shm_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

drivers/firmware/broadcom/tee_bnxt_fw.c tee_bnxt_fw_shutdown() -> tee_shm_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex

drivers/platform/x86/amd/pmf/tee-if.c amd_pmf_tee_deinit() -> tee_shm_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/platform/x86/amd/pmf/tee-if.c amd_pmf_tee_init() -> tee_shm_free()

Type Parameter Key Value
PARAM_VALUE 0 shm 4096-ptr_max
BUF_SIZE 0 shm 80
DATA_SOURCE 0 shm r tee_shm_alloc_kernel_buf
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL