Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/vhost/vhost.c vhost_add_used() -> vhost_add_used_n()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 1 heads 557545991259963392
PARAM_VALUE 2 nheads 3546244008448557056
PARAM_VALUE 2 *nheads 1
PARAM_VALUE 3 count 1
BUF_SIZE 0 vq (-1),18984,37968
BUF_SIZE 0 vq (-1),18984,37968
DATA_SOURCE 0 vq $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 vq->avail_idx 0-u16max
HOST_DATA 0 vq->last_used_idx 0-u16max
HOST_DATA 1 heads->id 1-u16max[c]
NO_OVERFLOW_SIMPLE 0 vq->dev->iov_limit
HALF_LOCKED2 &svq->vq.mutex
HALF_LOCKED2 0 &vq->mutex

drivers/vhost/vhost.c vhost_add_used_and_signal_n() -> vhost_add_used_n()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
BUF_SIZE 0 vq 18984
DATA_SOURCE 0 vq $1
DATA_SOURCE 1 heads $2
DATA_SOURCE 2 nheads $3
DATA_SOURCE 3 count $4
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 vq->avail_idx 0-u16max
HOST_DATA 0 vq->last_used_idx 0-u16max
HOST_DATA 0 vq->signalled_used 0-u16max
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 0 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex