Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/scsi/virtio_scsi.c virtscsi_mq_poll() -> virtscsi_complete_cmd()

Type Parameter Key Value
PARAM_VALUE 0 vscsi->req_vqs 4096-ptr_max
PARAM_VALUE 1 buf 1-u64max
DATA_SOURCE 1 buf r virtqueue_get_buf
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &virtscsi_vq->vq_lock
LOCK2 flags
HALF_LOCKED2 &ctx->uring_lock
TYPE_LOCK (struct virtio_scsi_vq)->vq_lock

drivers/scsi/virtio_scsi.c virtscsi_queuecommand() -> virtscsi_complete_cmd()

Type Parameter Key Value
PARAM_VALUE 0 vscsi 4096-ptr_max
PARAM_VALUE 1 buf 4096-ptr_max
DATA_SOURCE 1 buf r scsi_cmd_priv
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &req_vq->vq_lock
LOCK2 flags
HALF_LOCKED2 &sdev->state_mutex
TYPE_LOCK (struct virtio_scsi_vq)->vq_lock

drivers/scsi/virtio_scsi.c virtscsi_vq_done() -> virtscsi_vq_done param 2()

Type Parameter Key Value
PARAM_VALUE 1 buf 1-u64max
DATA_SOURCE 0 vscsi $0
DATA_SOURCE 1 buf r virtqueue_get_buf
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &virtscsi_vq->vq_lock
LOCK2 flags
TYPE_LOCK (struct virtio_scsi_vq)->vq_lock