Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/iommu/iommu.c __iommu_attach_device() -> (struct iommu_domain_ops)->attach_dev()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops 4096-ptr_max
PARAM_VALUE 0 domain->ops->attach_dev 4096-ptr_max
PARAM_VALUE 0 domain->ops->cache_invalidate_user 0,749766203511472128,6513038070009405440
PARAM_VALUE 0 domain->ops->enforce_cache_coherency 0,6771135090529189888,7103604897055576064,7157214075461996544
PARAM_VALUE 0 domain->ops->flush_iotlb_all 0,1409264724003270656,7012404210964918272,8586290232470175744
PARAM_VALUE 0 domain->ops->free 0,4096-ptr_max
PARAM_VALUE 0 domain->ops->iotlb_sync 0,5867195247508373504,7564901004766887936,7723566286289076224,8743500591539974144,9062639100917301248
PARAM_VALUE 0 domain->ops->iotlb_sync_map 0,6940270464466649088,6998128456535617536
PARAM_VALUE 0 domain->ops->iova_to_phys 0,1955669761700835328,2834890145562849280,4985586088501190656,6538246597230686208,8807475656703016960
PARAM_VALUE 0 domain->ops->map_pages 0
PARAM_VALUE 0 domain->ops->set_dev_pasid 0,1191539796096278528,2449680511270084608,2937103414544289792,6236364466895036416,7122971417634123776
PARAM_VALUE 0 domain->ops->set_pgtable_quirks 0
PARAM_VALUE 0 domain->ops->unmap_pages 0
PARAM_VALUE 0 domain->owner->blocked_domain 0,532766077614051328,1309262597071863808,3360818763908841472,5161617956659249152,5314750282517213184,6300359532015144960
PARAM_VALUE 0 domain->owner->capable 0,462993810217750528,1218212999370723328,2068158786969784320,4814261608348082176,5273877608991895552,6378217523337945088
PARAM_VALUE 0 domain->owner->def_domain_type 0,757924381194936320,3094419801163452416,5117618908541267968,5322346410050064384
PARAM_VALUE 0 domain->owner->default_domain 0,5314750282517213184
PARAM_VALUE 0 domain->owner->device_group 0,4096-ptr_max
PARAM_VALUE 0 domain->owner->domain_alloc_identity 0,1824181410664046592
PARAM_VALUE 0 domain->owner->domain_alloc_nested 0,3787243451007922176,5587605712304230400
PARAM_VALUE 0 domain->owner->domain_alloc_paging 0,4096-ptr_max
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 0 domain->owner->get_resv_regions 0,1505888117193461760,1796066543583182848,4029229782243753984,4300132076315938816,5136130486519664640,5287335354533576704,8650506204712415232
PARAM_VALUE 0 domain->owner->get_viommu_size 0,890856020400304128,8808264738914050048
PARAM_VALUE 0 domain->owner->hw_info 0,4734748057756364800,6417568837149130752,7401392304513224704
PARAM_VALUE 0 domain->owner->identity_domain 0,4096-ptr_max
PARAM_VALUE 0 domain->owner->is_attach_deferred 0,5818038523887214592,7788280626033360896
PARAM_VALUE 0 domain->owner->of_xlate 0,4096-ptr_max
PARAM_VALUE 0 domain->owner->owner 0
PARAM_VALUE 0 domain->owner->page_response 0,6092340583743537152,6863561957491752960,7827827559097483264
PARAM_VALUE 0 domain->owner->probe_device 0,4096-ptr_max
PARAM_VALUE 0 domain->owner->probe_finalize 0,4224741400359067648,6516402457225019392,8434375612550443008,8539622431235026944
PARAM_VALUE 0 domain->owner->release_device 0,4096-ptr_max
PARAM_VALUE 0 domain->owner->release_domain 0,109353748397924352,532766077614051328,3360818763908841472,5161617956659249152,8123815121812471808
PARAM_VALUE 0 domain->owner->viommu_init 0,3877766920581869568,5010379558565462016
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->cma_area->available_count 0-s64max
PARAM_VALUE 1 dev->cma_area->nranges s32min-s32max
PARAM_VALUE 1 dev->iommu 4096-ptr_max
PARAM_VALUE 1 dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 2 old->ops->attach_dev 0,4096-ptr_max
PARAM_VALUE 2 old->ops->cache_invalidate_user 0,749766203511472128,6513038070009405440
PARAM_VALUE 2 old->ops->enforce_cache_coherency 0,6771135090529189888,7103604897055576064,7157214075461996544
PARAM_VALUE 2 old->ops->flush_iotlb_all 0,1409264724003270656,7012404210964918272,8586290232470175744
PARAM_VALUE 2 old->ops->free 0,4096-ptr_max
PARAM_VALUE 2 old->ops->iotlb_sync 0,5867195247508373504,7564901004766887936,7723566286289076224,8743500591539974144,9062639100917301248
PARAM_VALUE 2 old->ops->iotlb_sync_map 0,6940270464466649088,6998128456535617536
PARAM_VALUE 2 old->ops->iova_to_phys 0,1955669761700835328,2834890145562849280,4985586088501190656,6538246597230686208,8807475656703016960
PARAM_VALUE 2 old->ops->map_pages 0
PARAM_VALUE 2 old->ops->set_dev_pasid 0,1191539796096278528,2449680511270084608,2937103414544289792,6236364466895036416,7122971417634123776
PARAM_VALUE 2 old->ops->set_pgtable_quirks 0
PARAM_VALUE 2 old->ops->unmap_pages 0
PARAM_VALUE 2 old->owner->blocked_domain 0,532766077614051328,1309262597071863808,3360818763908841472,5161617956659249152,5314750282517213184,6300359532015144960
PARAM_VALUE 2 old->owner->capable 0,462993810217750528,1218212999370723328,2068158786969784320,4814261608348082176,5273877608991895552,6378217523337945088
PARAM_VALUE 2 old->owner->def_domain_type 0,757924381194936320,3094419801163452416,5117618908541267968,5322346410050064384
PARAM_VALUE 2 old->owner->default_domain 0,5314750282517213184
PARAM_VALUE 2 old->owner->device_group 0,4096-ptr_max
PARAM_VALUE 2 old->owner->domain_alloc_identity 0,1824181410664046592
PARAM_VALUE 2 old->owner->domain_alloc_nested 0,3787243451007922176,5587605712304230400
PARAM_VALUE 2 old->owner->domain_alloc_paging 0,4096-ptr_max
PARAM_VALUE 2 old->owner->domain_alloc_paging_flags 0,5681659404854812672,8509805123710701568,8930407207250460672,8966249347349827584
PARAM_VALUE 2 old->owner->domain_alloc_sva 0,701458021798502400,7542271727435345920
PARAM_VALUE 2 old->owner->get_resv_regions 0,1505888117193461760,1796066543583182848,4029229782243753984,4300132076315938816,5136130486519664640,5287335354533576704,8650506204712415232
PARAM_VALUE 2 old->owner->get_viommu_size 0,890856020400304128,8808264738914050048
PARAM_VALUE 2 old->owner->hw_info 0,4734748057756364800,6417568837149130752,7401392304513224704
PARAM_VALUE 2 old->owner->identity_domain 0,4096-ptr_max
PARAM_VALUE 2 old->owner->is_attach_deferred 0,5818038523887214592,7788280626033360896
PARAM_VALUE 2 old->owner->of_xlate 0,4096-ptr_max
PARAM_VALUE 2 old->owner->owner 0
PARAM_VALUE 2 old->owner->page_response 0,6092340583743537152,6863561957491752960,7827827559097483264
PARAM_VALUE 2 old->owner->probe_device 0,4096-ptr_max
PARAM_VALUE 2 old->owner->probe_finalize 0,4224741400359067648,6516402457225019392,8434375612550443008,8539622431235026944
PARAM_VALUE 2 old->owner->release_device 0,4096-ptr_max
PARAM_VALUE 2 old->owner->release_domain 0,109353748397924352,532766077614051328,3360818763908841472,5161617956659249152,8123815121812471808
PARAM_VALUE 2 old->owner->viommu_init 0,3877766920581869568,5010379558565462016
BUF_SIZE 0 domain (-1),112
BUF_SIZE 0 domain (-1),112
BUF_SIZE 0 domain->iommufd_hwpt (-1),40
BUF_SIZE 1 dev (-1),1616
BUF_SIZE 1 dev (-1),1616
BUF_SIZE 2 old (-1),112
BUF_SIZE 2 old (-1),112
BUF_SIZE 2 old->iommufd_hwpt (-1),40
CAPPED_DATA 1 dev 1
DATA_SOURCE 0 domain $0
DATA_SOURCE 1 dev $1
DATA_SOURCE 2 old $2
CONTAINER 0 -0-16+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 dev->cma_area->available_count
HALF_LOCKED2 &group->mutex
HALF_LOCKED2 _T->lock

drivers/iommu/iommu.c iommu_deinit_device() -> (struct iommu_domain_ops)->attach_dev()

Type Parameter Key Value
PARAM_VALUE 0 domain 4096-ptr_max
PARAM_VALUE 0 domain->ops 4096-ptr_max
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->dma_ops->alloc 0,1744715142275031040,2065280936184246272,2938795245442469888
PARAM_VALUE 1 dev->dma_ops->alloc_pages_op 0,4686288359180861440,6350905364812603392,6978773206971854848
PARAM_VALUE 1 dev->dma_ops->cache_sync 0
PARAM_VALUE 1 dev->dma_ops->dma_supported 0,2528523692154392576,3617072262637035520,5023592177070743552,5276104885786021888
PARAM_VALUE 1 dev->dma_ops->free 0,4778164490434129920,7144974343242604544,7861694134817480704
PARAM_VALUE 1 dev->dma_ops->free_pages 0,239457316199952384,5196233516945883136,7413093576918179840
PARAM_VALUE 1 dev->dma_ops->get_merge_boundary 0
PARAM_VALUE 1 dev->dma_ops->get_required_mask 0,7770840938859397120
PARAM_VALUE 1 dev->dma_ops->get_sgtable 0,1322759480623644672
PARAM_VALUE 1 dev->dma_ops->map_phys 0,2506261230157742080,4169194063996235776,4848421345171935232,6326163439792029696
PARAM_VALUE 1 dev->dma_ops->map_sg 0,2118452656510775296,2518538481676259328,5872201013595766784,6630017431831871488
PARAM_VALUE 1 dev->dma_ops->max_mapping_size 0,8830639662091943936
PARAM_VALUE 1 dev->dma_ops->mmap 0,5761417605877342208,7694740394750603264
PARAM_VALUE 1 dev->dma_ops->opt_mapping_size 0
PARAM_VALUE 1 dev->dma_ops->sync_sg_for_cpu 0,4862850025765572608
PARAM_VALUE 1 dev->dma_ops->sync_sg_for_device 0,3732476178258022400
PARAM_VALUE 1 dev->dma_ops->sync_single_for_cpu 0,1155325867376779264
PARAM_VALUE 1 dev->dma_ops->sync_single_for_device 0,8781567156597239808
PARAM_VALUE 1 dev->dma_ops->unmap_phys 0,3634718672199266304,5690836758666383360,6257189515678003200,7756707427785986048
PARAM_VALUE 1 dev->dma_ops->unmap_sg 0,1256335292805263360,8472845699660435456,8676762248147066880,8920167536469053440
PARAM_VALUE 1 dev->iommu 4096-ptr_max
PARAM_VALUE 1 dev->iommu->attach_deferred 0
PARAM_VALUE 1 dev->iommu->iommu_dev 4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev->dev 4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev->dev->kobj.sd 4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev->dev->kobj.sd->__parent 0
PARAM_VALUE 1 dev->iommu->iommu_dev->ops->blocked_domain 0,532766077614051328,1309262597071863808,3360818763908841472,5161617956659249152,5314750282517213184,6300359532015144960
PARAM_VALUE 1 dev->iommu->iommu_dev->ops->identity_domain 0,4096-ptr_max
PARAM_VALUE 1 dev->iommu->iommu_dev->ops->release_domain 109353748397924352,532766077614051328,3360818763908841472,5161617956659249152,8123815121812471808
PARAM_VALUE 1 dev->iommu_group 4096-ptr_max
PARAM_VALUE 1 dev->iommu_group->mutex.dep_map->name 0-255
PARAM_VALUE 1 dev->iommu_group->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 dev->iommu_group->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 dev->iommu_group->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 dev->iommu_group->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 dev->iommu_group->mutex.wait_lock.owner (-1)
PARAM_VALUE 1 dev->iommu_group->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 dev->kobj.sd->__parent 0
BUF_SIZE 1 dev (-1)-0,24-s32max
BUF_SIZE 1 dev (-1)-0,24-s32max
BUF_SIZE 1 dev->bus (-1),168
BUF_SIZE 1 dev->dma_mask (-1),8
BUF_SIZE 1 dev->dma_parms (-1),16
BUF_SIZE 1 dev->groups (-1),16
BUF_SIZE 1 dev->init_name (-1),14
BUF_SIZE 1 dev->parent (-1),1616
CAPPED_DATA 1 dev 1
DATA_SOURCE 1 dev $0
STR_LEN 1 dev->parent (-1),4-5,13
CONTAINER 0 -0-16+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 dev->flags 4096-u32max
HOST_DATA 1 dev->iommu.max_pasids 0-u32max
LOCK2 &group->mutex
HALF_LOCKED2 global &iommu_probe_device_lock
HALF_LOCKED2 1 &dev->mutex
TYPE_LOCK (struct iommu_group)->mutex