Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
drivers/iommu/iommufd/selftest.c iommufd_selftest_destroy() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | pasid | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/iommu/iommufd/selftest.c iommufd_test_mock_domain() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | idev | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->dev | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->dev->iommu | 0,4096-ptr_max |
| PARAM_VALUE | 0 | idev->dev->iommu_group->mutex->first_waiter->task->blocked_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | idev->dev->iommu_group->mutex->wait_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | idev->dev->iommu_group->pasid_array.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->dev->iommu_group->recovery_cnt | 0-4294967295 |
| PARAM_VALUE | 0 | idev->ictx | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->ictx->destroy_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->ictx->destroy_wait.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->ictx->vfio_ioas | 0 |
| PARAM_VALUE | 0 | idev->igroup | 0-ptr_max |
| PARAM_VALUE | 0 | idev->igroup->group->mutex->first_waiter->task->blocked_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | idev->igroup->group->pasid_array.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->igroup->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | idev->igroup->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | idev->igroup->pasid_attach.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | pasid | 0 |
| BUF_SIZE | 0 | idev->dev | 1616 |
| DATA_SOURCE | 0 | idev | r iommufd_device_bind |
| NOCHECK_CALL |
drivers/iommu/iommufd/selftest.c iommufd_test_pasid_attach() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | idev | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->dev->iommu_group->mutex->first_waiter->task->blocked_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | idev->dev->iommu_group->mutex->wait_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | idev->dev->iommu_group->pasid_array.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->dev->iommu_group->recovery_cnt | 0-4294967295 |
| PARAM_VALUE | 0 | idev->ictx->destroy_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->ictx->destroy_wait.head.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | idev->ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->ictx->vfio_ioas | 0 |
| PARAM_VALUE | 0 | idev->igroup->group->mutex->first_waiter->task->blocked_lock.owner | (-4611686018427387904)-4611686018427387903 |
| PARAM_VALUE | 0 | idev->igroup->group->pasid_array.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->igroup->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.owner | (-1) |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.owner_cpu | 4294967295 |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->blocked_lock.raw_lock.val.counter | s32min-s32max |
| PARAM_VALUE | 0 | idev->igroup->lock.first_waiter->task->usage.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | idev->igroup->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | idev->igroup->pasid_attach.xa_lock.rlock.dep_map->name | 0-255 |
| NOCHECK_CALL | |||
| USER_DATA | 1 | pasid | 0-u32max[u] |
drivers/iommu/iommufd/selftest.c iommufd_test_pasid_detach() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| USER_DATA | 1 | pasid | 0-u32max[u] |
drivers/vfio/iommufd.c vfio_iommufd_physical_detach_ioas() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | idev | 1-u64max |
| PARAM_VALUE | 1 | pasid | 0 |
| NOCHECK_CALL | |||
| LOCK2 | &vdev->dev_set->lock | ||
| TYPE_LOCK | (struct vfio_device_set)->lock |
drivers/vfio/iommufd.c vfio_iommufd_physical_pasid_detach_ioas() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | idev | 1-u64max |
| PARAM_VALUE | 1 | pasid | 0-s32max,4294967274,4294967294 |
| CAPPED_DATA | 1 | pasid | 1 |
| DATA_SOURCE | 1 | pasid | $1 |
| NOCHECK_CALL | |||
| USER_DATA | 1 | pasid | 0-s32max,4294967274,4294967294[c] |
| LOCK2 | &vdev->dev_set->lock | ||
| TYPE_LOCK | (struct vfio_device_set)->lock |
drivers/vfio/iommufd.c vfio_iommufd_physical_unbind() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | pasid | 0-s32max |
| DATA_SOURCE | 1 | pasid | r ida_find_first |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &device->dev_set->lock | ||
| HALF_LOCKED2 | &device->group->group_lock | ||
| TYPE_LOCK | (struct vfio_device_set)->lock |
drivers/vfio/iommufd.c vfio_iommufd_physical_unbind() -> iommufd_device_detach()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | pasid | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &device->dev_set->lock | ||
| HALF_LOCKED2 | &device->group->group_lock | ||
| TYPE_LOCK | (struct vfio_device_set)->lock |