Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/target/target_core_user.c queue_cmd_ring() -> tcmu_cmd_free_data()

Type Parameter Key Value
PARAM_VALUE 0 tcmu_cmd 4096-ptr_max
PARAM_VALUE 0 tcmu_cmd->tcmu_dev 4096-ptr_max
CAPPED_DATA 0 tcmu_cmd->dbi_cnt 1
DATA_SOURCE 0 tcmu_cmd $0
STR_LEN 0 tcmu_cmd->se_cmd (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tcmu_cmd->se_cmd->residual_count 1-u32max
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->dbi_cnt
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->data_length
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->reftag_seed
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->sense_info
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_data_nents
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_data_nents_orig
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_prot_nents
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_task_lba
LOCK2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c queue_cmd_ring() -> tcmu_cmd_free_data()

Type Parameter Key Value
PARAM_VALUE 0 tcmu_cmd 4096-ptr_max
PARAM_VALUE 0 tcmu_cmd->tcmu_dev 4096-ptr_max
CAPPED_DATA 0 tcmu_cmd 1
CAPPED_DATA 0 tcmu_cmd->dbi_cnt 1
CAPPED_DATA 1 len 1
DATA_SOURCE 0 tcmu_cmd $0
STR_LEN 0 tcmu_cmd->se_cmd (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tcmu_cmd->se_cmd->residual_count 1-u32max
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->dbi_cnt
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->data_length
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->reftag_seed
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->sense_info
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_data_nents
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_data_nents_orig
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_prot_nents
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_task_lba
NO_OVERFLOW_SIMPLE 1 len
LOCK2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c queue_cmd_ring() -> tcmu_cmd_free_data()

Type Parameter Key Value
PARAM_VALUE 0 tcmu_cmd 4096-ptr_max
PARAM_VALUE 0 tcmu_cmd->tcmu_dev 4096-ptr_max
CAPPED_DATA 0 tcmu_cmd->dbi_cnt 1
DATA_SOURCE 0 tcmu_cmd $0
STR_LEN 0 tcmu_cmd->se_cmd (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tcmu_cmd->se_cmd->residual_count 1-u32max
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->dbi_cnt
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->data_length
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->reftag_seed
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->sense_info
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_data_nents
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_data_nents_orig
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_prot_nents
NO_OVERFLOW_SIMPLE 0 tcmu_cmd->se_cmd->t_task_lba
LOCK2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c tcmu_free_kept_buf_store() -> tcmu_cmd_free_data()

Type Parameter Key Value
PARAM_VALUE 0 tcmu_cmd 4096-ptr_max
DATA_SOURCE 0 tcmu_cmd r xas_load
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
LOCK2 &udev->cmdr_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c tcmu_handle_completion() -> tcmu_cmd_free_data()

Type Parameter Key Value
PARAM_VALUE 0 tcmu_cmd 4096-ptr_max
DATA_SOURCE 0 tcmu_cmd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udev->cmdr_lock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &idev->info_lock
HALF_LOCKED2 global &root_udev_mutex
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c tcmu_release() -> tcmu_cmd_free_data()

Type Parameter Key Value
PARAM_VALUE 0 tcmu_cmd 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &idev->info_lock
LOCK2 &udev->cmdr_lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock
TYPE_LOCK (struct uio_device)->info_lock

drivers/target/target_core_user.c tcmu_reset_ring() -> tcmu_cmd_free_data()

Type Parameter Key Value
PARAM_VALUE 0 tcmu_cmd 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
LOCK2 &udev->cmdr_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem
TYPE_LOCK (struct tcmu_dev)->cmdr_lock