Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/block/ublk_drv.c ublk_batch_prep_io() -> __ublk_fetch()

Type Parameter Key Value
PARAM_VALUE 0 cmd 4096-ptr_max
PARAM_VALUE 1 ub 4096-ptr_max
PARAM_VALUE 1 ub->dev_info.queue_depth 1-u16max
PARAM_VALUE 2 io 4096-ptr_max
PARAM_VALUE 2 io->lock.rlock.dep_map->name 0-255
BUF_SIZE 1 ub s32min-(-2),1-s32max
BUF_SIZE 1 ub s32min-(-2),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 2 &io->lock
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 1 &ub->mutex
TYPE_LOCK (struct ublk_io)->lock

drivers/block/ublk_drv.c ublk_fetch() -> __ublk_fetch()

Type Parameter Key Value
PARAM_VALUE 0 cmd 4096-ptr_max
PARAM_VALUE 0 cmd->file 4096-ptr_max
PARAM_VALUE 0 cmd->file->private_data 4096-ptr_max
PARAM_VALUE 0 cmd->sqe 4096-ptr_max
PARAM_VALUE 1 ub 4096-ptr_max
PARAM_VALUE 1 ub->dev_info.nr_hw_queues 1-u16max
PARAM_VALUE 1 ub->dev_info.queue_depth 1-u16max
PARAM_VALUE 1 ub->mutex.dep_map->name 0-255
PARAM_VALUE 1 ub->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 ub->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 ub->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 ub->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 ub->mutex.wait_lock.owner (-1)
PARAM_VALUE 1 ub->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 2 io 4096-ptr_max
PARAM_VALUE 3 q_id 0-65534
BUF_SIZE 1 ub s32min-(-2),1-s32max
BUF_SIZE 1 ub s32min-(-2),1-s32max
CAPPED_DATA 1 &ub->mutex 1
CAPPED_DATA 3 q_id 1
DATA_SOURCE 0 cmd $0
DATA_SOURCE 1 ub $1
DATA_SOURCE 2 io $2
DATA_SOURCE 3 q_id $4
CONSTRAINT 3 q_id <3806
RX_PATH
TASK_NOT_RUNNING
LOCK2 1 &ub->mutex
HALF_LOCKED2 &ctx->uring_lock
TYPE_LOCK (struct ublk_device)->mutex