Defined in 1 files as a function:
Referenced in 4 files:
Smatch caller information:
drivers/vhost/vhost.c memory_access_ok() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | bit | 26 |
| HALF_LOCKED2 | &d->mutex | ||
| HALF_LOCKED2 | &n->dev.mutex | ||
| HALF_LOCKED2 | &vs->dev.mutex | ||
| HALF_LOCKED2 | &vsock->dev.mutex | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vhost/vhost.c vhost_add_used_n() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 35 |
| 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->num | |
| HALF_LOCKED2 | 0 | &vq->mutex |
drivers/vhost/vhost.c vhost_disable_notify() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 29 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| DATA_SOURCE | 0 | vq | $1 |
| BIT_INFO | 0 | vq->used_flags | 0x1,0xffff |
| 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 | |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/vhost.c vhost_enable_notify() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 29 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| DATA_SOURCE | 0 | vq | $1 |
| 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 | |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/vhost.c vhost_get_avail_size() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 29 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| DATA_SOURCE | 0 | vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vq->num | |
| HALF_LOCKED2 | 0 | &vq->mutex |
drivers/vhost/vhost.c vhost_get_used_size() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 29 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| BUF_SIZE | 0 | vq | (-1),18984,37968 |
| DATA_SOURCE | 0 | vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vq->num | |
| HALF_LOCKED2 | 0 | &vq->mutex |
drivers/vhost/vhost.c vhost_get_vq_desc_n() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 35 |
| 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 | |
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/vhost.c vhost_init_is_le() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 32 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| DATA_SOURCE | 0 | vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vq->dev->nvqs | |
| NO_OVERFLOW_SIMPLE | 0 | vq->poll.dev->nvqs | |
| HALF_LOCKED2 | 0 | &vq->mutex |
drivers/vhost/vhost.c vhost_notify() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 24 |
| BUF_SIZE | 0 | vq | (-1),37968 |
| BUF_SIZE | 0 | vq | (-1),37968 |
| DATA_SOURCE | 0 | vq | $1 |
| 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 |
| HALF_LOCKED2 | 0 | &vq->mutex |
drivers/vhost/vhost.c vhost_notify() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 29 |
| BUF_SIZE | 0 | vq | (-1),37968 |
| BUF_SIZE | 0 | vq | (-1),37968 |
| DATA_SOURCE | 0 | vq | $1 |
| 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 |
| HALF_LOCKED2 | 0 | &vq->mutex |
drivers/vhost/vhost.c vhost_vring_ioctl() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 34 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| LOCK2 | 0 | &vq->mutex | |
| HALF_LOCKED2 | &d->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_vring_ioctl() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | bit | 34 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| LOCK2 | 0 | &vq->mutex | |
| HALF_LOCKED2 | &d->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 vq_log_access_ok() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 26 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| DATA_SOURCE | 0 | vq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vq->num | |
| HALF_LOCKED2 | &n->dev.mutex | ||
| HALF_LOCKED2 | &vs->dev.mutex | ||
| HALF_LOCKED2 | &vsock->dev.mutex | ||
| HALF_LOCKED2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vhost/vdpa.c vhost_vdpa_vring_ioctl() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 34 |
| LOCK2 | &d->mutex | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vhost/vdpa.c vhost_vdpa_vring_ioctl() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 34 |
| HOST_DATA | 0 | vq->last_avail_idx | 0-u16max |
| LOCK2 | &d->mutex | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vhost/net.c get_rx_bufs() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 35 |
| BUF_SIZE | 0 | vq | 18984 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | vq->avail_idx | 0-u16max |
| LOCK2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/net.c handle_rx() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 35 |
| BUF_SIZE | 0 | vq | 18984 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/vhost/net.c handle_rx() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 26 |
| BUF_SIZE | 0 | vq | 18984 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/net.c handle_rx() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 15 |
| BUF_SIZE | 0 | vq | 18984 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/net.c handle_rx() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 32 |
| BUF_SIZE | 0 | vq | 18984 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/net.c handle_tx_copy() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 35 |
| BUF_SIZE | 0 | vq | 18984 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/net.c vhost_tx_batch() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 35 |
| BUF_SIZE | 0 | vq | 18984 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | vq->avail_idx | 0-u16max |
| HOST_DATA | 0 | vq->signalled_used | 0-u16max |
| LOCK2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/scsi.c vhost_scsi_ctl_handle_vq() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 26 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| DATA_SOURCE | 0 | vq | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/scsi.c vhost_scsi_do_evt_work() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 26 |
| BUF_SIZE | 0 | vq | 18984 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | vq->avail_idx | 0-u16max |
| LOCK2 | &vq->mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/scsi.c vhost_scsi_do_plug() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 1 |
| BUF_SIZE | 0 | vq | 18984 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &tpg->tv_tpg_mutex | ||
| LOCK2 | 0 | &vq->mutex | |
| HALF_LOCKED2 | &dir->i_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem | ||
| TYPE_LOCK | (struct vhost_scsi_tpg)->tv_tpg_mutex | ||
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/scsi.c vhost_scsi_handle_vq() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 3 |
| DATA_SOURCE | 0 | vq | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/vhost/scsi.c vhost_scsi_handle_vq() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 26 |
| CAPPED_DATA | 0 | &vq->mutex | 1 |
| DATA_SOURCE | 0 | vq | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/scsi.c vhost_scsi_log_write() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | bit | 26 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| BUF_SIZE | 0 | vq | (-1),18984 |
| 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 |
| HALF_LOCKED2 | &svq->vq.mutex | ||
| HALF_LOCKED2 | &tmf->svq->vq.mutex | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | 0 | &vq->mutex | |
| TYPE_LOCK | (struct vhost_virtqueue)->mutex |
drivers/vhost/scsi.c vhost_scsi_set_features() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | bit | 26 |
| LOCK2 | &vs->dev.mutex | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |
drivers/vhost/scsi.c vhost_scsi_setup_vq_cmds() -> vhost_has_feature()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vq | 4096-ptr_max |
| PARAM_VALUE | 1 | bit | 3 |
| BUF_SIZE | 0 | vq | 18984 |
| DATA_SOURCE | 0 | vq | $0 |
| LOCK2 | &vs->dev.mutex | ||
| TYPE_LOCK | (struct vhost_dev)->mutex |