Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/iommu/iommufd/device.c iommufd_hwpt_detach_device() -> iommu_detach_device_pasid()

Type Parameter Key Value
PARAM_VALUE 1 dev->iommu_group->recovery_cnt 0-4294967295
PARAM_VALUE 2 pasid 1-u32max
DATA_SOURCE 2 pasid $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_disable_system_pasid() -> iommu_detach_device_pasid()

Type Parameter Key Value
PARAM_VALUE 0 domain 1-u64max
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->iommu_group 4096-ptr_max
BUF_SIZE 1 dev 1616
DATA_SOURCE 0 domain r iommu_get_domain_for_dev
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/iommu/iommu-sva.c iommu_sva_unbind_device() -> iommu_detach_device_pasid()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->mm 4096-ptr_max
PARAM_VALUE 0 domain->mm->iommu_mm 4096-ptr_max
BUF_SIZE 1 dev (-1),1616
BUF_SIZE 1 dev (-1),1616
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 dev unit_byte
LOCK2 global &iommu_sva_lock
HALF_LOCKED2 &idev->info_lock
HALF_LOCKED2 &uacce->mutex
HALF_LOCKED2 &wq->wq_lock
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock