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_unbind()

Type Parameter Key Value
PARAM_VALUE 0 idev 4096-ptr_max
PARAM_VALUE 0 idev->igroup 4096-ptr_max
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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/iommu/iommufd/selftest.c iommufd_test_mock_domain() -> iommufd_device_unbind()

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->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->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
BUF_SIZE 0 idev->dev 1616
DATA_SOURCE 0 idev r iommufd_device_bind
NOCHECK_CALL

drivers/vfio/iommufd.c vfio_iommufd_physical_unbind() -> iommufd_device_unbind()

Type Parameter Key Value
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