Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/vhost/vhost.c __vhost_get_user() -> vhost_vq_meta_fetch()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 1-2
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 1 addr (-1),2
DATA_SOURCE 0 vq $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 size $2
DATA_SOURCE 3 type $3
HARD_MAX 3 type 2
RX_PATH
TASK_NOT_RUNNING
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
NO_OVERFLOW_SIMPLE 0 vq->dev->iov_limit
NO_OVERFLOW_SIMPLE 0 vq->num
UNITS 2 size unit_byte
HALF_LOCKED2 0 &vq->mutex

drivers/vhost/vhost.c iotlb_access_ok() -> vhost_vq_meta_fetch()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 3 type 0-2
BUF_SIZE 0 vq (-1),18984,37968
BUF_SIZE 0 vq (-1),18984,37968
DATA_SOURCE 0 vq $0
DATA_SOURCE 1 addr $2
DATA_SOURCE 2 size $3
DATA_SOURCE 3 type $4
HARD_MAX 3 type 2
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vhost.c vhost_copy_from_user() -> vhost_vq_meta_fetch()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 1 addr 4096-18446744073709547520
PARAM_VALUE 2 size 16
PARAM_VALUE 3 type 0
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 0 vq (-1),37968
DATA_SOURCE 0 vq $0
DATA_SOURCE 1 addr $2
DATA_SOURCE 2 size $3
RX_PATH
TASK_NOT_RUNNING
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
NO_OVERFLOW_SIMPLE 0 vq->dev->iov_limit
UNITS 2 size unit_byte
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 0 &vq->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

drivers/vhost/vhost.c vhost_copy_to_user() -> vhost_vq_meta_fetch()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 1 addr 4096-18446744073709547520
PARAM_VALUE 3 type 2
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 0 vq (-1),37968
CAPPED_DATA 2 size 1
DATA_SOURCE 0 vq $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 size $3
RX_PATH
TASK_NOT_RUNNING
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
NO_OVERFLOW_SIMPLE 0 vq->num
HALF_LOCKED2 0 &vq->mutex