Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/iommu/iommu.c iommu_attach_device_pasid() -> __iommu_set_group_pasid()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops 4096-ptr_max
PARAM_VALUE 0 domain->ops->set_dev_pasid 1191539796096278528,2449680511270084608,2937103414544289792,6236364466895036416,7122971417634123776
PARAM_VALUE 0 domain->owner->domain_alloc_paging_flags 0,5681659404854812672,8509805123710701568,8930407207250460672,8966249347349827584
PARAM_VALUE 0 domain->owner->domain_alloc_sva 0,701458021798502400,7542271727435345920
PARAM_VALUE 1 group 4096-ptr_max
PARAM_VALUE 1 group->mutex.dep_map->name 0-255
PARAM_VALUE 1 group->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 group->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 group->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 group->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 group->mutex.wait_lock.owner (-1)
PARAM_VALUE 1 group->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 group->pasid_array.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 group->recovery_cnt 0
PARAM_VALUE 2 pasid 1-u32max
PARAM_VALUE 3 old 0
BUF_SIZE 0 domain (-1),112
BUF_SIZE 0 domain (-1),112
BUF_SIZE 0 domain->iommufd_hwpt (-1),40
BUF_SIZE 0 domain->owner (-1),200
CAPPED_DATA 0 domain 1
CAPPED_DATA 1 &group->devices 1
CAPPED_DATA 1 &group->mutex 1
DATA_SOURCE 0 domain $0
DATA_SOURCE 2 pasid $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 pasid 1-u32max
LOCK2 1 &group->mutex
HALF_LOCKED2 &igroup->lock
HALF_LOCKED2 global &iommu_sva_lock
TYPE_LOCK (struct iommu_group)->mutex

drivers/iommu/iommu.c iommu_replace_device_pasid() -> __iommu_set_group_pasid()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops 4096-ptr_max
PARAM_VALUE 0 domain->ops->set_dev_pasid 1191539796096278528,2449680511270084608,2937103414544289792,6236364466895036416,7122971417634123776
PARAM_VALUE 1 group 4096-ptr_max
PARAM_VALUE 1 group->mutex.dep_map->name 0-255
PARAM_VALUE 1 group->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 group->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 group->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 group->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 group->mutex.wait_lock.owner (-1)
PARAM_VALUE 1 group->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 group->pasid_array.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 group->recovery_cnt 0
PARAM_VALUE 2 pasid 1-u32max
CAPPED_DATA 0 domain 1
CAPPED_DATA 1 &group->mutex 1
DATA_SOURCE 0 domain $0
DATA_SOURCE 2 pasid $2
DATA_SOURCE 3 old r pasid_array_entry_to_domain
PARAM_COMPARE 0 domain != $3
PARAM_COMPARE 3 old != $0
PARAM_COMPARE 3 old != $0
USER_DATA 2 pasid 1-u32max
LOCK2 &igroup->lock
LOCK2 1 &group->mutex
HALF_LOCKED2 &ioas->mutex
HALF_LOCKED2 &vdev->dev_set->lock
TYPE_LOCK (struct iommu_group)->mutex
TYPE_LOCK (struct iommufd_group)->lock