Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/drm/xe/xe_vm.c xe_vm_alloc_vma() -> vm_bind_ioctl_ops_unwind()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.ops->op_free 0
PARAM_VALUE 0 vm->lock.dep_map->name 0-255
PARAM_VALUE 0 vm->lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 vm->lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 vm->lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vm->lock.wait_lock.owner (-1)
PARAM_VALUE 0 vm->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 vm->size 1-u64max
PARAM_VALUE 0 vm->snap_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 vm->snap_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 vm->snap_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 vm->snap_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 vm->snap_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 vm->snap_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 vm->snap_mutex.first_waiter->task->blocked_on 0
PARAM_VALUE 0 vm->snap_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vm->svm.gpusvm.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->svm.gpusvm.notifier_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vm->svm.gpusvm.notifier_lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->svm.gpusvm.ops->notifier_free 0
PARAM_VALUE 0 vm->usm.last_fault_vma 0
PARAM_VALUE 0 vm->xe 4096-ptr_max
PARAM_VALUE 0 vm->xe->drm.mode_config.helper_private->atomic_commit_tail 0,113,234517204248432640,264416658693812224,1002985563129995264,1135616218159751168,1435312838172803072,1559742614509715456,1682444203744997376,2792895115794366464,3649211429048074240,4264110321136541696,4348468181405868032-s64max
PARAM_VALUE 0 vm->xe->val.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 1 ops 6676084544148836352
PARAM_VALUE 1 *ops 4096-ptr_max
PARAM_VALUE 2 num_ops_list 1
CAPPED_DATA 0 vm->gpuvm.mm_start 1
DATA_SOURCE 0 vm $0
NOCHECK_CALL
LOCK2 0 &vm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_bind_ioctl() -> vm_bind_ioctl_ops_unwind()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->lock.dep_map->name 0-255
PARAM_VALUE 0 vm->lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 vm->lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 vm->lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vm->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 vm->size 1-u64max
PARAM_VALUE 0 vm->svm.garbage_collector.work.lockdep_map->name 0-255
PARAM_VALUE 0 vm->svm.gpusvm.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vm->svm.gpusvm.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->svm.gpusvm.notifier_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vm->svm.gpusvm.notifier_lock.first_waiter->type 0-1
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 2 num_ops_list 1-s32max
BUF_SIZE 1 ops 8-17179869176
BUF_SIZE 1 ops 8-17179869176
CAPPED_DATA 0 vm 1
CAPPED_DATA 2 num_ops_list 1
DATA_SOURCE 0 vm r xe_vm_lookup
DATA_SOURCE 1 ops r __kvmalloc_node_noprof
NOCHECK_CALL
USER_DATA 2 num_ops_list 2-s32max[c]
NO_OVERFLOW_SIMPLE 2 num_ops_list
UNITS 2 num_ops_list unit_array_size
LOCK2 0 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_bind_kernel_bo() -> vm_bind_ioctl_ops_unwind()

Type Parameter Key Value
PARAM_VALUE 0 vm 4096-ptr_max
PARAM_VALUE 0 vm->exec_queues.list 4096-ptr_max
PARAM_VALUE 0 vm->exec_queues.lock.dep_map->name 0-255
PARAM_VALUE 0 vm->exec_queues.lock.first_waiter->handoff_set 1
PARAM_VALUE 0 vm->exec_queues.lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 vm->exec_queues.lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 vm->exec_queues.lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->faults.list.next 4096-ptr_max
PARAM_VALUE 0 vm->faults.list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->faults.list.prev 4096-ptr_max
PARAM_VALUE 0 vm->faults.list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->faults.list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->flags 0-539
PARAM_VALUE 0 vm->gpuvm.bo_defer.first 0
PARAM_VALUE 0 vm->gpuvm.drm 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.evict.list.next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.evict.list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.evict.list.prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.evict.list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.evict.list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.extobj.list.next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.extobj.list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.extobj.list.prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.extobj.list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.extobj.list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.flags 1
PARAM_VALUE 0 vm->gpuvm.kernel_alloc_node.flags 0
PARAM_VALUE 0 vm->gpuvm.kernel_alloc_node.gem.obj 0
PARAM_VALUE 0 vm->gpuvm.kernel_alloc_node.gem.offset 0
PARAM_VALUE 0 vm->gpuvm.kernel_alloc_node.vm 0,4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.kernel_alloc_node.vm_bo 0
PARAM_VALUE 0 vm->gpuvm.mm_start 0
PARAM_VALUE 0 vm->gpuvm.name 1-u64max
PARAM_VALUE 0 vm->gpuvm.ops 3404220926455885824
PARAM_VALUE 0 vm->gpuvm.ops->op_alloc 0,4178244968145121280
PARAM_VALUE 0 vm->gpuvm.ops->op_free 0
PARAM_VALUE 0 vm->gpuvm.ops->sm_step_map 0,912682263357759488,3850699923445227520,8379760394559614976,8609383518014025728
PARAM_VALUE 0 vm->gpuvm.ops->sm_step_remap 0,3850699923445227520,5121074557911261184,5420759306209017856,8609383518014025728
PARAM_VALUE 0 vm->gpuvm.ops->sm_step_unmap 0,3850699923445227520,5914183354706407424,7504656685248028672,8609383518014025728
PARAM_VALUE 0 vm->gpuvm.ops->vm_bo_alloc 0
PARAM_VALUE 0 vm->gpuvm.ops->vm_bo_free 0,5555473383884926976
PARAM_VALUE 0 vm->gpuvm.ops->vm_bo_validate 0,248747483245506560,265657736556892160,1638191084720013312,1986338527227244544
PARAM_VALUE 0 vm->gpuvm.ops->vm_free 0,826467068035764224,3805946052293255168,5326365468746117120,6598819279086505984
PARAM_VALUE 0 vm->gpuvm.r_obj 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.r_obj->_resv.fences 0
PARAM_VALUE 0 vm->gpuvm.r_obj->_resv.lock.base.magic 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.r_obj->_resv.lock.ctx 0
PARAM_VALUE 0 vm->gpuvm.r_obj->_resv.lock.ww_class 8825623990767841280
PARAM_VALUE 0 vm->gpuvm.r_obj->filp 0
PARAM_VALUE 0 vm->gpuvm.r_obj->funcs 1406244332369195008
PARAM_VALUE 0 vm->gpuvm.r_obj->gpuva.list.next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.r_obj->gpuva.list.prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.r_obj->gpuva.lock.magic 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.r_obj->handle_count 0
PARAM_VALUE 0 vm->gpuvm.r_obj->lru_node.next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.r_obj->lru_node.prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.r_obj->refcount.refcount.refs.counter 1
PARAM_VALUE 0 vm->gpuvm.r_obj->resv 1-u64max
PARAM_VALUE 0 vm->gpuvm.r_obj->size 0
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_lock.magic 3736018669
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_lock.owner (-1)
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_lock.owner_cpu u32max
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_node.color 0
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_node.flags 0
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_node.mm 0
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_node.size 0
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_node.stack 0
PARAM_VALUE 0 vm->gpuvm.r_obj->vma_node.vm_node.start 0
PARAM_VALUE 0 vm->gpuvm.rb.list.next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.rb.list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.rb.list.prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.rb.list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.rb.list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->gpuvm.rb.tree.rb_leftmost->rb_left 0
PARAM_VALUE 0 vm->gpuvm.rb.tree.rb_leftmost->rb_right 0
PARAM_VALUE 0 vm->lock.dep_map->name 0-255
PARAM_VALUE 0 vm->lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 vm->lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 vm->lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->lock.magic 4096-ptr_max
PARAM_VALUE 0 vm->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vm->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 vm->lock.wait_lock.owner (-1)
PARAM_VALUE 0 vm->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 vm->lru_bulk_move.cursor_list.next 4096-ptr_max
PARAM_VALUE 0 vm->lru_bulk_move.cursor_list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->lru_bulk_move.cursor_list.prev 4096-ptr_max
PARAM_VALUE 0 vm->lru_bulk_move.cursor_list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->lru_bulk_move.cursor_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->preempt.exec_queues.next 4096-ptr_max
PARAM_VALUE 0 vm->preempt.exec_queues.next->next 4096-ptr_max
PARAM_VALUE 0 vm->preempt.exec_queues.prev 4096-ptr_max
PARAM_VALUE 0 vm->preempt.exec_queues.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->preempt.exec_queues.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->pt_ops 5618114527130574848
PARAM_VALUE 0 vm->rebind_list.next 4096-ptr_max
PARAM_VALUE 0 vm->rebind_list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->rebind_list.prev 4096-ptr_max
PARAM_VALUE 0 vm->rebind_list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->rebind_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->snap_mutex.dep_map->name 0-255
PARAM_VALUE 0 vm->svm.garbage_collector.range_list.next 4096-ptr_max
PARAM_VALUE 0 vm->svm.garbage_collector.range_list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->svm.garbage_collector.range_list.prev 4096-ptr_max
PARAM_VALUE 0 vm->svm.garbage_collector.range_list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->svm.garbage_collector.range_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->svm.gpusvm.chunk_sizes 0,326957153881444352
PARAM_VALUE 0 vm->svm.gpusvm.lock_dep_map 0
PARAM_VALUE 0 vm->svm.gpusvm.mm 0,4096-ptr_max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->process_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->process_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->request_key_auth->user->qnbytes s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->request_key_auth->user->qnkeys s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->session_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->session_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->thread_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->exe_file->f_cred->thread_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 vm->svm.gpusvm.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vm->svm.gpusvm.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->svm.gpusvm.mm->notifier_subscriptions->invalidate_seq 0-s64max
PARAM_VALUE 0 vm->svm.gpusvm.mm_start 0
PARAM_VALUE 0 vm->svm.gpusvm.name 3247675261583343616,8321627992709902336
PARAM_VALUE 0 vm->svm.gpusvm.notifier_list.next 4096-ptr_max
PARAM_VALUE 0 vm->svm.gpusvm.notifier_list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->svm.gpusvm.notifier_list.prev 4096-ptr_max
PARAM_VALUE 0 vm->svm.gpusvm.notifier_list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->svm.gpusvm.notifier_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->svm.gpusvm.notifier_lock.dep_map->name 0-255
PARAM_VALUE 0 vm->svm.gpusvm.notifier_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vm->svm.gpusvm.notifier_lock.first_waiter->type 0-1
PARAM_VALUE 0 vm->svm.gpusvm.notifier_size 0-u32max,9157251904928550912
PARAM_VALUE 0 vm->svm.gpusvm.num_chunks 0,3
PARAM_VALUE 0 vm->svm.gpusvm.ops 0,9157251904928550912
PARAM_VALUE 0 vm->svm.gpusvm.ops->invalidate 1822217023706652672
PARAM_VALUE 0 vm->svm.gpusvm.ops->notifier_alloc 0
PARAM_VALUE 0 vm->svm.gpusvm.ops->notifier_free 0
PARAM_VALUE 0 vm->svm.gpusvm.ops->range_alloc 2247529597885444096
PARAM_VALUE 0 vm->svm.gpusvm.ops->range_free 2375940009807314944
PARAM_VALUE 0 vm->svm.peer.link.next 4096-ptr_max
PARAM_VALUE 0 vm->svm.peer.list 5613913969899761664
PARAM_VALUE 0 vm->svm.peer.list->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 vm->svm.peer.list->lock.magic 5613913969899761664
PARAM_VALUE 0 vm->svm.peer.list->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 vm->svm.peer.list->peers.prev 4096-ptr_max
PARAM_VALUE 0 vm->svm.peer.owner 4096-ptr_max
PARAM_VALUE 0 vm->svm.peer.private 1
PARAM_VALUE 0 vm->userptr.invalidated.next 4096-ptr_max
PARAM_VALUE 0 vm->userptr.invalidated.next->next 4096-ptr_max
PARAM_VALUE 0 vm->userptr.invalidated.prev 4096-ptr_max
PARAM_VALUE 0 vm->userptr.invalidated.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->userptr.invalidated.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->userptr.repin_list.next 4096-ptr_max
PARAM_VALUE 0 vm->userptr.repin_list.next->next 4096-ptr_max
PARAM_VALUE 0 vm->userptr.repin_list.prev 4096-ptr_max
PARAM_VALUE 0 vm->userptr.repin_list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm->userptr.repin_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 vm->xe 4096-ptr_max
PARAM_VALUE 0 vm->xe->drm.mode_config.helper_private->atomic_commit_tail 0,113,234517204248432640,264416658693812224,1002985563129995264,1135616218159751168,1435312838172803072,1559742614509715456,1682444203744997376,2792895115794366464,3649211429048074240,4264110321136541696,4348468181405868032-s64max
PARAM_VALUE 0 vm->xe->pat.idx 4096-ptr_max
PARAM_VALUE 0 vm->xe->ttm.dev_mapping->host->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792,2776440803454029824,3228746867770966016,3502492669594062848,3526768263295340544,3559173554394271744,5000850239487131648,5583386343686406144,5817357685191483392-s64max
PARAM_VALUE 0 vm->xe->ttm.dev_mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 0 vm->xe->ttm.dev_mapping->host->i_sb->s_export_op->fh_to_parent 0,4672,148606482432692224,436469935444291584,457356038048772096,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000-s64max
PARAM_VALUE 0 vm->xe->ttm.dev_mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max
PARAM_VALUE 0 vm->xe->ttm.dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vm->xe->ttm.dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 vm->xe->ttm.pool.dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 vm->xe->ttm.pool.dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 1 ops 3116066437170544640
PARAM_VALUE 1 *ops 4096-ptr_max
PARAM_VALUE 2 num_ops_list 1
BUF_SIZE 0 vm 3000
CAPPED_DATA 0 vm 1
CAPPED_DATA 0 vm->svm.gpusvm.num_chunks 1
CAPPED_DATA 0 &vm->lock 1
DATA_SOURCE 0 vm $0
TERMINATED 0 vm->svm.gpusvm.name 1
POWER_OF_TWO 0 *vm
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &vm->lock
TYPE_LOCK (struct xe_vm)->lock