Defined in 1 files as a function:
Referenced in 5 files:
- drivers/iommu/io-pgfault.c
- drivers/iommu/iommu-sva.c, line 312
- drivers/iommu/iommu.c
- drivers/iommu/iommufd/device.c, line 1659
- drivers/iommu/iommufd/hw_pagetable.c, line 17
Smatch caller information:
drivers/iommu/iommufd/device.c iommufd_get_hw_info() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|
drivers/iommu/iommufd/hw_pagetable.c get_iommu_ops() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu | 1-u64max |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| HALF_LOCKED2 | &ioas->mutex |
drivers/iommu/iommu-sva.c iommu_sva_domain_alloc() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| CAPPED_DATA | 0 | dev->iommu->max_pasids | 1 |
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| LOCK2 | global &iommu_sva_lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &uacce->mutex | ||
| HALF_LOCKED2 | &wq->wq_lock |
drivers/iommu/io-pgfault.c find_fault_handler() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->iopf_lock |
drivers/iommu/io-pgfault.c iopf_error_response() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->iopf_lock |
drivers/iommu/io-pgfault.c iopf_group_response() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fault->mutex | ||
| HALF_LOCKED2 | &igroup->lock |
drivers/iommu/io-pgfault.c iopf_queue_add_device() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| BUF_SIZE | 0 | dev | (-1)-0,24-s32max |
| BUF_SIZE | 0 | dev | (-1)-0,24-s32max |
| BUF_SIZE | 0 | dev->bus | (-1),168 |
| BUF_SIZE | 0 | dev->dma_mask | (-1),8 |
| BUF_SIZE | 0 | dev->dma_parms | (-1),16 |
| BUF_SIZE | 0 | dev->groups | (-1),16 |
| BUF_SIZE | 0 | dev->init_name | (-1),14 |
| BUF_SIZE | 0 | dev->parent | (-1),1616 |
| CAPPED_DATA | 0 | dev | 1 |
| DATA_SOURCE | 0 | dev | $1 |
| STR_LEN | 0 | dev->parent | (-1),4-5,13 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | dev->class | 0-16777215 |
| HOST_DATA | 0 | dev->flags | 0-u32max |
| HOST_DATA | 0 | dev->iommu.max_pasids | 0-u32max |
| NO_OVERFLOW_SIMPLE | 0 | dev->cma_area->available_count | |
| HALF_LOCKED2 | &dev_data->mutex | ||
| HALF_LOCKED2 | 0 | &dev->mutex |
drivers/iommu/io-pgfault.c iopf_queue_remove_device() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| BUF_SIZE | 0 | dev | (-1)-0,24-s32max |
| BUF_SIZE | 0 | dev | (-1)-0,24-s32max |
| BUF_SIZE | 0 | dev->bus | (-1),168 |
| BUF_SIZE | 0 | dev->dma_mask | (-1),8 |
| BUF_SIZE | 0 | dev->dma_parms | (-1),16 |
| BUF_SIZE | 0 | dev->groups | (-1),16 |
| BUF_SIZE | 0 | dev->init_name | (-1),14 |
| BUF_SIZE | 0 | dev->parent | (-1),1616 |
| DATA_SOURCE | 0 | dev | $1 |
| STR_LEN | 0 | dev->parent | (-1),4-5,13 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | dev->class | 0-16777215 |
| HOST_DATA | 0 | dev->flags | 0-u32max |
| HOST_DATA | 0 | dev->iommu.max_pasids | 0-u32max |
| NO_OVERFLOW_SIMPLE | 0 | dev->cma_area->available_count | |
| HALF_LOCKED2 | &dev_data->mutex | ||
| HALF_LOCKED2 | &group->mutex | ||
| HALF_LOCKED2 | 0 | &dev->mutex |
drivers/iommu/iommu.c __iommu_alloc_identity_domain() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &group->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &iommu_probe_device_lock | ||
| TYPE_LOCK | (struct iommu_group)->mutex |
drivers/iommu/iommu.c __iommu_attach_group() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu->iommu_dev | 1-u64max |
| DATA_SOURCE | 0 | dev | r iommu_group_first_dev |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &group->mutex | ||
| HALF_LOCKED2 | &igroup->lock | ||
| TYPE_LOCK | (struct iommu_group)->mutex |
drivers/iommu/iommu.c __iommu_group_alloc_blocking_domain() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | dev | r iommu_group_first_dev |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &group->mutex | ||
| HALF_LOCKED2 | _T->lock |
drivers/iommu/iommu.c __iommu_paging_domain_alloc_flags() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu->iommu_dev | 1-u64max |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev->dma_parms | (-1),16 |
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | &group->mutex |
drivers/iommu/iommu.c device_iommu_capable() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu->iommu_dev | 1-u64max |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | &group->device_lock | ||
| HALF_LOCKED2 | &group->mutex | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &us_ibdev->usdev_lock | ||
| HALF_LOCKED2 | &vf->lock |
drivers/iommu/iommu.c iommu_attach_device_pasid() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| DATA_SOURCE | 0 | dev | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | &igroup->lock | ||
| HALF_LOCKED2 | global &iommu_sva_lock |
drivers/iommu/iommu.c iommu_deinit_device() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu | 1-u64max |
| PARAM_VALUE | 0 | dev->iommu->iommu_dev | 1-u64max |
| BUF_SIZE | 0 | dev | (-1)-0,24-s32max |
| BUF_SIZE | 0 | dev | (-1)-0,24-s32max |
| BUF_SIZE | 0 | dev->bus | (-1),168 |
| BUF_SIZE | 0 | dev->dma_mask | (-1),8 |
| BUF_SIZE | 0 | dev->dma_parms | (-1),16 |
| BUF_SIZE | 0 | dev->groups | (-1),16 |
| BUF_SIZE | 0 | dev->init_name | (-1),14 |
| BUF_SIZE | 0 | dev->parent | (-1),1616 |
| CAPPED_DATA | 0 | dev | 1 |
| DATA_SOURCE | 0 | dev | $0 |
| STR_LEN | 0 | dev->parent | (-1),4-5,13 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | dev->flags | 4096-u32max |
| HOST_DATA | 0 | dev->iommu.max_pasids | 0-u32max |
| UNITS | 0 | dev | unit_byte |
| LOCK2 | &group->mutex | ||
| HALF_LOCKED2 | global &iommu_probe_device_lock | ||
| HALF_LOCKED2 | 0 | &dev->mutex | |
| TYPE_LOCK | (struct iommu_group)->mutex |
drivers/iommu/iommu.c iommu_get_def_domain_type() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | dev | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| LOCK2 | &group->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &iommu_probe_device_lock | ||
| TYPE_LOCK | (struct iommu_group)->mutex |
drivers/iommu/iommu.c iommu_get_resv_regions() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| DATA_SOURCE | 0 | dev | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | &group->mutex | ||
| HALF_LOCKED2 | &igroup->lock | ||
| HALF_LOCKED2 | &iopt->iova_rwsem |
drivers/iommu/iommu.c iommu_group_alloc_default_domain() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &group->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | global &iommu_probe_device_lock | ||
| TYPE_LOCK | (struct iommu_group)->mutex |
drivers/iommu/iommu.c iommu_group_do_probe_finalize() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
drivers/iommu/iommu.c iommu_probe_device() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| BUF_SIZE | 0 | dev | (-1)-0,4,16,24-s32max |
| BUF_SIZE | 0 | dev | (-1)-0,4,16,24-s32max |
| BUF_SIZE | 0 | dev->bus | (-1),168 |
| BUF_SIZE | 0 | dev->dma_mask | (-1),8 |
| BUF_SIZE | 0 | dev->dma_parms | (-1),16 |
| BUF_SIZE | 0 | dev->groups | (-1),16 |
| BUF_SIZE | 0 | dev->init_name | (-1),14 |
| BUF_SIZE | 0 | dev->parent | (-1),1616 |
| CAPPED_DATA | 0 | dev | 1 |
| DATA_SOURCE | 0 | dev | $0 |
| STR_LEN | 0 | dev->parent | (-1),4-5,13 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | dev->flags | 0-u32max |
| HOST_DATA | 0 | dev->iommu.max_pasids | 0-u32max |
| NO_OVERFLOW_SIMPLE | 0 | dev->dma_io_tlb_mem->nslabs | |
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | &adev->physical_node_lock | ||
| HALF_LOCKED2 | 0 | &dev->mutex |
drivers/iommu/iommu.c iommu_remove_dev_pasid() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| PARAM_VALUE | 0 | dev->iommu | 4096-ptr_max |
| DATA_SOURCE | 0 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | dev | unit_byte |
| HALF_LOCKED2 | &group->mutex | ||
| HALF_LOCKED2 | _T->lock |
drivers/iommu/iommu.c iommu_replace_device_pasid() -> dev_iommu_ops()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dev | 4096-ptr_max |
| BUF_SIZE | 0 | dev | (-1),1616 |
| BUF_SIZE | 0 | dev | (-1),1616 |
| DATA_SOURCE | 0 | dev | $1 |
| LOCK2 | &igroup->lock | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &vdev->dev_set->lock | ||
| TYPE_LOCK | (struct iommufd_group)->lock |