Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 8 files:
- drivers/iommu/iommufd/device.c
- drivers/iommu/iommufd/eventq.c, line 558
- drivers/iommu/iommufd/hw_pagetable.c, line 442
- drivers/iommu/iommufd/ioas.c, line 57
- drivers/iommu/iommufd/main.c, line 562
- drivers/iommu/iommufd/selftest.c, line 1092
- drivers/iommu/iommufd/vfio_compat.c, line 113
- drivers/iommu/iommufd/viommu.c, line 255
Smatch caller information:
drivers/iommu/iommufd/selftest.c iommufd_test_mock_domain() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ictx | 4096-ptr_max |
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| NOCHECK_CALL |
drivers/iommu/iommufd/viommu.c iommufd_vdevice_alloc_ioctl() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ictx->objects.xa_flags | 4-u32max |
| PARAM_VALUE | 0 | ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &idev->igroup->lock | ||
| TYPE_LOCK | (struct iommufd_group)->lock |
drivers/iommu/iommufd/device.c iommufd_access_create() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ictx | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->file | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| BUF_SIZE | 0 | ictx | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ictx | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | ictx | $0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &device->dev_set->lock |
drivers/iommu/iommufd/device.c iommufd_access_create_internal() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| DATA_SOURCE | 0 | ictx | $0 |
| NOCHECK_CALL |
drivers/iommu/iommufd/device.c iommufd_device_auto_get_domain() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| NOCHECK_CALL | |||
| LOCK2 | &ioas->mutex | ||
| HALF_LOCKED2 | &vdev->dev_set->lock | ||
| TYPE_LOCK | (struct iommufd_ioas)->mutex |
drivers/iommu/iommufd/device.c iommufd_device_bind() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| BUF_SIZE | 0 | ictx | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | ictx | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | ictx | $0 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &device->dev_set->lock |
drivers/iommu/iommufd/vfio_compat.c iommufd_vfio_compat_ioas_create() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ictx | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->no_iommu_mode | 0 |
| PARAM_VALUE | 0 | ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ictx->vfio_ioas | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->vfio_ioas->hwpt_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->vfio_ioas->hwpt_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->vfio_ioas->iopt.access_list.xa_flags | 33554436 |
| PARAM_VALUE | 0 | ictx->vfio_ioas->iopt.domains.xa_flags | 32 |
| PARAM_VALUE | 0 | ictx->vfio_ioas->iopt.domains.xa_head | 0 |
| PARAM_VALUE | 0 | ictx->vfio_ioas->iopt.domains_rwsem.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->vfio_ioas->iopt.iova_alignment | 1 |
| PARAM_VALUE | 0 | ictx->vfio_ioas->iopt.iova_rwsem.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->vfio_ioas->mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | ictx->vfio_ioas->mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->vfio_ioas->mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | ictx->vfio_ioas->mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| BUF_SIZE | 0 | ictx | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ictx | s32min-(-2),1-s32max |
| DATA_SOURCE | 0 | ictx | $0 |
| NOCHECK_CALL | |||
| LOCK2 | &group->group_lock | ||
| TYPE_LOCK | (struct vfio_group)->group_lock |
drivers/iommu/iommufd/main.c iommufd_fops_ioctl() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | ictx | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ictx | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | obj | 0 |
| BIT_INFO | 1 | obj | 0x0,0x0 |
| NOCHECK_CALL |
drivers/iommu/iommufd/eventq.c iommufd_veventq_alloc() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &viommu->veventqs_rwsem | ||
| TYPE_LOCK | (struct iommufd_viommu)->veventqs_rwsem |
drivers/iommu/iommufd/hw_pagetable.c iommufd_hwpt_alloc() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &ioas->mutex |
drivers/iommu/iommufd/ioas.c iommufd_ioas_alloc_ioctl() -> iommufd_object_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ictx | 4096-ptr_max |
| PARAM_VALUE | 0 | ictx->ioas_creation_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ictx->ioas_creation_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | ictx->ioas_creation_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | ictx->ioas_creation_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | ictx->ioas_creation_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ictx->ioas_creation_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | ictx->ioas_creation_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | ictx->objects.xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | obj | 4096-ptr_max |
| CAPPED_DATA | 0 | &ictx->ioas_creation_lock | 1 |
| NOCHECK_CALL | |||
| LOCK2 | 0 | &ictx->ioas_creation_lock | |
| TYPE_LOCK | (struct iommufd_ctx)->ioas_creation_lock |