Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

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