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 |