Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
drivers/vhost/vhost.c vhost_add_used_and_signal() -> vhost_add_used()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | len | 0 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| DATA_SOURCE | 0 | vq | $1 |
| DATA_SOURCE | 1 | head | $2 |
| DATA_SOURCE | 2 | len | $3 |
| 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 | 1 | head | 1-u16max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vq->dev->iov_limit | |
| UNITS | 1 | head | unit_array_size |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | 0 | &vq->mutex |
drivers/vhost/vsock.c vhost_transport_do_send_pkt() -> vhost_add_used()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 0 | vq->iov | 4096-ptr_max |
| 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.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 | 1-u64max |
| PARAM_VALUE | 1 | head | 0-s32max |
| BUF_SIZE | 0 | vq | (-1),37968 |
| BUF_SIZE | 0 | vq | (-1),37968 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| CAPPED_DATA | 2 | len | 1 |
| DATA_SOURCE | 0 | vq | $1 |
| DATA_SOURCE | 1 | head | r vhost_get_vq_desc |
| PARAM_COMPARE | 1 | head | != $0->num |
| 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 | 1 | head | 1-u16max[c] |
| UNITS | 1 | head | unit_array_size |
| UNITS | 2 | len | unit_byte |
| LOCK2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/vsock.c vhost_vsock_handle_tx_kick() -> vhost_add_used()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| 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.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 | 1-u64max |
| PARAM_VALUE | 1 | head | 0-s32max |
| PARAM_VALUE | 2 | len | 0 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| DATA_SOURCE | 1 | head | r vhost_get_vq_desc |
| PARAM_COMPARE | 1 | head | != $0->num |
| 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 | 1 | head | 1-u16max[c] |
| UNITS | 1 | head | unit_array_size |
| LOCK2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/scsi.c vhost_scsi_complete_cmd_work() -> vhost_add_used()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 2 | len | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | head | unit_array_size |
| LOCK2 | &svq->vq.mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |