Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 0 vq->call_ctx.ctx 1-u64max
PARAM_VALUE 0 vq->dev->byte_weight (-2147483647)-s32max
PARAM_VALUE 0 vq->dev->weight (-2147483647)-s32max
PARAM_VALUE 0 vq->iotlb 1-u64max
PARAM_VALUE 0 vq->log_ctx->count 0-s64max
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 1
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 1 addr 2
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 0 vq->signalled_used 0-u16max
UNITS 2 size unit_byte
HALF_LOCKED2 0 &vq->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 0 vq->avail->ring 4096-ptr_max
PARAM_VALUE 0 vq->iotlb 1-u64max
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 1 *addr 0-u16max
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 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 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_get_avail_idx() -> __vhost_get_user()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 0 vq->iotlb 1-u64max
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 1
BUF_SIZE 0 vq (-1),18984,37968
BUF_SIZE 0 vq (-1),18984,37968
BUF_SIZE 1 addr 2
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 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_get_used_event() -> __vhost_get_user()

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 0 vq->avail->ring 4096-ptr_max
PARAM_VALUE 0 vq->call_ctx.ctx 1-u64max
PARAM_VALUE 0 vq->dev->byte_weight (-2147483647)-s32max
PARAM_VALUE 0 vq->dev->weight (-2147483647)-s32max
PARAM_VALUE 0 vq->iotlb 1-u64max
PARAM_VALUE 0 vq->log_ctx->count 0-s64max
PARAM_VALUE 0 vq->signalled_used_valid 1
PARAM_VALUE 1 *addr 0-u16max
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 1
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 0 vq (-1),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 0 vq->signalled_used 0-u16max
UNITS 2 size unit_byte
HALF_LOCKED2 0 &vq->mutex

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

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->iotlb 1-u64max
PARAM_VALUE 0 vq->mutex.dep_map->name 0-255
PARAM_VALUE 0 vq->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 vq->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vq->mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 vq->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 vq->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 vq->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 vq->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 vq->private_data 4096-ptr_max
PARAM_VALUE 0 vq->signalled_used_valid 0
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 2
BUF_SIZE 0 vq (-1),18984
BUF_SIZE 0 vq (-1),18984
BUF_SIZE 1 addr 2
DATA_SOURCE 0 vq $0
UNITS 2 size unit_byte
LOCK2 0 &vq->mutex
HALF_LOCKED2 &n->dev.mutex
HALF_LOCKED2 &vs->dev.mutex
HALF_LOCKED2 &vsock->dev.mutex
TYPE_LOCK (struct vhost_dev)->mutex
TYPE_LOCK (struct vhost_virtqueue)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 0 vq->dev->byte_weight (-2147483647)-s32max
PARAM_VALUE 0 vq->dev->weight (-2147483647)-s32max
PARAM_VALUE 0 vq->error_ctx->count 0-s64max
PARAM_VALUE 0 vq->iotlb 1-u64max
PARAM_VALUE 0 vq->log_ctx->count 0-s64max
PARAM_VALUE 0 vq->used->ring 4096-ptr_max
PARAM_VALUE 0 vq->used_flags 0,2-65534
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 2
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 0 vq (-1),37968
DATA_SOURCE 0 vq $0
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
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_put_used_flags() -> __vhost_get_user()

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

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

Type Parameter Key Value
PARAM_VALUE 0 vq 4096-ptr_max
PARAM_VALUE 0 vq->iotlb 1-u64max
PARAM_VALUE 1 addr 4096-ptr_max
PARAM_VALUE 2 size 2
PARAM_VALUE 3 type 2
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 0 vq (-1),37968
BUF_SIZE 1 addr 2
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 0 vq->signalled_used 0-u16max
UNITS 2 size unit_byte
HALF_LOCKED2 0 &vq->mutex