Defined in 1 files as a prototype:
Defined in 2 files as a function:
Referenced in 4 files:
- drivers/dma/idxd/init.c, line 660
- drivers/iommu/iommu-sva.c
- drivers/iommu/iommu.c, line 3702
- drivers/iommu/iommufd/device.c, line 589
Smatch caller information:
drivers/iommu/iommufd/device.c iommufd_hwpt_attach_device() -> iommu_attach_device_pasid()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | domain->owner->domain_alloc_paging_flags | 0,5681659404854812672,8509805123710701568,8930407207250460672,8966249347349827584 |
| PARAM_VALUE | 1 | dev->iommu_group->recovery_cnt | 0-4294967295 |
| PARAM_VALUE | 2 | pasid | 1-u32max |
| PARAM_VALUE | 3 | handle | 4096-ptr_max |
| BUF_SIZE | 0 | domain | (-1),112 |
| BUF_SIZE | 0 | domain | (-1),112 |
| BUF_SIZE | 0 | domain->iommufd_hwpt | (-1),40 |
| BUF_SIZE | 0 | domain->owner | (-1),200 |
| BUF_SIZE | 1 | dev | (-1),1616 |
| BUF_SIZE | 1 | dev | (-1),1616 |
| DATA_SOURCE | 2 | pasid | $2 |
| USER_DATA | 0 | domain->iommufd_hwpt->pasid_compat | 0-1[c] |
| USER_DATA | 2 | pasid | 1-u32max |
| LOCK2 | &igroup->lock | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &vdev->dev_set->lock | ||
| TYPE_LOCK | (struct iommufd_group)->lock |
drivers/dma/idxd/init.c idxd_enable_system_pasid() -> iommu_attach_device_pasid()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | domain | 1-u64max |
| PARAM_VALUE | 1 | dev | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->bus | 0,4096-ptr_max |
| PARAM_VALUE | 1 | dev->class | 0,4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu->max_pasids | 1-u32max |
| PARAM_VALUE | 1 | dev->iommu_group | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->power.request | 0-4 |
| PARAM_VALUE | 1 | dev->power.runtime_error | s32min-(-17),(-15)-(-14),(-12),(-10)-s32max |
| PARAM_VALUE | 1 | dev->type | 0,4096-ptr_max |
| PARAM_VALUE | 2 | pasid | 0-s32max |
| PARAM_VALUE | 3 | handle | 0 |
| BUF_SIZE | 1 | dev | 1616 |
| DATA_SOURCE | 0 | domain | r iommu_get_domain_for_dev |
| DATA_SOURCE | 2 | pasid | r iommu_alloc_global_pasid |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &pdev->dev.mutex | ||
| HALF_LOCKED2 | &pool->lock |
drivers/iommu/iommu-sva.c iommu_sva_bind_device() -> iommu_attach_device_pasid()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | domain | 4096-ptr_max |
| PARAM_VALUE | 1 | dev | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu->max_pasids | 1-u32max |
| PARAM_VALUE | 1 | dev->iommu_group | 4096-ptr_max |
| PARAM_VALUE | 2 | pasid | 0-4294967294 |
| PARAM_VALUE | 3 | handle | 4096-ptr_max |
| BUF_SIZE | 1 | dev | (-1),1616 |
| BUF_SIZE | 1 | dev | (-1),1616 |
| CAPPED_DATA | 1 | dev->iommu->max_pasids | 1 |
| CAPPED_DATA | 2 | pasid | 1 |
| DATA_SOURCE | 1 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | dev | unit_byte |
| LOCK2 | global &iommu_sva_lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &uacce->mutex | ||
| HALF_LOCKED2 | &wq->wq_lock |
drivers/iommu/iommu-sva.c iommu_sva_bind_device() -> iommu_attach_device_pasid()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | domain | 4096-ptr_max |
| PARAM_VALUE | 0 | domain->cookie_type | 4 |
| PARAM_VALUE | 0 | domain->iopf_handler | 9139579046423990272 |
| PARAM_VALUE | 0 | domain->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | domain->mm->iommu_mm | 4096-ptr_max |
| PARAM_VALUE | 0 | domain->mm->mm_users.counter | 1-s32max |
| PARAM_VALUE | 0 | domain->mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | domain->mm->notifier_subscriptions | 1-u64max |
| PARAM_VALUE | 0 | domain->ops | 4990253858506903552,6622229368631857152 |
| PARAM_VALUE | 0 | domain->owner | 4096-ptr_max |
| PARAM_VALUE | 0 | domain->owner->domain_alloc_sva | 701458021798502400,7542271727435345920 |
| PARAM_VALUE | 0 | domain->type | 16 |
| PARAM_VALUE | 1 | dev | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu->iommu_dev | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu->iommu_dev->ops | 4096-ptr_max |
| PARAM_VALUE | 1 | dev->iommu->iommu_dev->ops->domain_alloc_sva | 0,701458021798502400,7542271727435345920 |
| PARAM_VALUE | 1 | dev->iommu->max_pasids | 1-u32max |
| PARAM_VALUE | 1 | dev->iommu_group | 4096-ptr_max |
| PARAM_VALUE | 2 | pasid | 0-4294967294 |
| PARAM_VALUE | 3 | handle | 4096-ptr_max |
| BUF_SIZE | 0 | domain | 112 |
| BUF_SIZE | 1 | dev | (-1),1616 |
| BUF_SIZE | 1 | dev | (-1),1616 |
| CAPPED_DATA | 1 | dev->iommu->max_pasids | 1 |
| CAPPED_DATA | 2 | pasid | 1 |
| DATA_SOURCE | 0 | domain | r iommu_sva_domain_alloc |
| DATA_SOURCE | 1 | dev | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | dev | unit_byte |
| LOCK2 | global &iommu_sva_lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &uacce->mutex | ||
| HALF_LOCKED2 | &wq->wq_lock |