Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/vhost/vhost.c vhost_enable_notify() -> vhost_get_avail_idx()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 0 vq->dev->iotlb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vq->dev->read_list.prev->next 4096-ptr_max
PARAM_VALUE 0 vq->dev->read_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 vq->used_flags 0,2-65534
BUF_SIZE 0 vq (-1),18984,37968
BUF_SIZE 0 vq (-1),18984,37968
DATA_SOURCE 0 vq $1
BIT_INFO 0 vq->used_flags 0x0,0xfffe
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 vq->avail_idx 0-u16max
HOST_DATA 0 vq->last_used_idx 0-u16max
NO_OVERFLOW_SIMPLE 0 vq->dev->iov_limit
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 0 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vhost.c vhost_get_vq_desc_n() -> vhost_get_avail_idx()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
BUF_SIZE 0 vq (-1),18984,37968
BUF_SIZE 0 vq (-1),18984,37968
CAPPED_DATA 0 vq->avail_idx 1
CAPPED_DATA 0 vq->last_avail_idx 1
DATA_SOURCE 0 vq $0
PARAM_COMPARE 0 vq->avail_idx == $0->last_avail_idx
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 vq->last_used_idx 0-u16max
HOST_DATA 0 vq->signalled_used 0-u16max
NO_OVERFLOW_SIMPLE 0 vq->dev->iov_limit
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 0 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vhost.c vhost_vq_avail_empty() -> vhost_get_avail_idx()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
BUF_SIZE 0 vq (-1),18984
BUF_SIZE 0 vq (-1),18984
CAPPED_DATA 0 vq->avail_idx 1
CAPPED_DATA 0 vq->last_avail_idx 1
DATA_SOURCE 0 vq $1
PARAM_COMPARE 0 vq->avail_idx == $0->last_avail_idx
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 vq->last_used_idx 0-u16max
HOST_DATA 0 vq->signalled_used 0-u16max
LOCK2 &vq->mutex
HALF_LOCKED2 0 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex