Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_create_unregistered_range() -> svm_range_add_notifier_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2212933610777083904,2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | prange | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->child_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->child_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->child_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->child_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->child_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->deferred_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->deferred_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->deferred_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->deferred_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->deferred_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->flags | 3 |
| PARAM_VALUE | 1 | prange->invalid.counter | 0 |
| PARAM_VALUE | 1 | prange->it_node.last | 0-4503599627370494,u64max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left->rb_right | 0 |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right->rb_left | 0 |
| PARAM_VALUE | 1 | prange->last | 0-4503599627370494,u64max |
| PARAM_VALUE | 1 | prange->list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | prange->lock.first_waiter | 0 |
| PARAM_VALUE | 1 | prange->lock.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->lock.osq.tail.counter | 0 |
| PARAM_VALUE | 1 | prange->lock.owner.counter | 0 |
| PARAM_VALUE | 1 | prange->migrate_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | prange->migrate_mutex.first_waiter | 0 |
| PARAM_VALUE | 1 | prange->migrate_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->migrate_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 1 | prange->migrate_mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | prange->preferred_loc | 0,u32max |
| PARAM_VALUE | 1 | prange->prefetch_loc | u32max |
| PARAM_VALUE | 1 | prange->svm_bo_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svm_bo_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svm_bo_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svm_bo_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svm_bo_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | prange->svms->lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 1 | prange->svms->lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_leftmost | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->update_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->update_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->update_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->update_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->update_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->validate_timestamp | 0 |
| PARAM_VALUE | 1 | prange->vram_pages | 0 |
| BUF_SIZE | 1 | prange | 1176 |
| BUF_SIZE | 1 | prange | 1176 |
| BUF_SIZE | 1 | prange->svms | 1096 |
| CAPPED_DATA | 1 | prange->last | 1 |
| DATA_SOURCE | 0 | mm | $2 |
| DATA_SOURCE | 1 | prange | r svm_range_new |
| FUZZY_MAX | 1 | prange->preferred_loc | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &svms->lock | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range_list)->lock |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_handle_list_op() -> svm_range_add_notifier_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | prange | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left->rb_right | 0 |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right->rb_left | 0 |
| PARAM_VALUE | 1 | prange->list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_finish | 0,2193403108630056960 |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_start | 0,7606346720449052672 |
| PARAM_VALUE | 1 | prange->svms | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_leftmost | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->work_item.mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | prange->work_item.op | 4 |
| DATA_SOURCE | 0 | mm | $2 |
| DATA_SOURCE | 1 | prange | $1 |
| NOCHECK_CALL | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &svms->lock | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &prange->migrate_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range_list)->lock |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_handle_list_op() -> svm_range_add_notifier_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | prange | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left->rb_right | 0 |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right->rb_left | 0 |
| PARAM_VALUE | 1 | prange->list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_finish | 0,2193403108630056960 |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_start | 0,7606346720449052672 |
| PARAM_VALUE | 1 | prange->svms | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_leftmost | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->work_item.mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | prange->work_item.op | 5 |
| DATA_SOURCE | 0 | mm | $2 |
| DATA_SOURCE | 1 | prange | $1 |
| NOCHECK_CALL | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &svms->lock | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &prange->migrate_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range_list)->lock |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_set_attr() -> svm_range_add_notifier_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | prange | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left->rb_right | 0 |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right->rb_left | 0 |
| PARAM_VALUE | 1 | prange->list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_finish | 0,2193403108630056960 |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_start | 0,7606346720449052672 |
| PARAM_VALUE | 1 | prange->svms | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->list.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_leftmost | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_root.rb_node | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | $1 |
| NOCHECK_CALL | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &process_info->lock | ||
| LOCK2 | &svms->lock | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &p->mutex | ||
| TYPE_LOCK | (struct amdkfd_process_info)->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range_list)->lock |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_update_notifier_and_interval_tree() -> svm_range_add_notifier_locked()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | mm->notifier_subscriptions->has_itree | 0-1 |
| PARAM_VALUE | 1 | prange | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_left->rb_right | 0 |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->it_node.rb.rb_right->rb_left | 0 |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_finish | 0,2193403108630056960 |
| PARAM_VALUE | 1 | prange->notifier.ops->invalidate_start | 0,7606346720449052672 |
| PARAM_VALUE | 1 | prange->svms->objects.rb_leftmost | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->svms->objects.rb_root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 1 | prange->work_item.mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | prange->work_item.mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | prange->work_item.op | 2-3 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | prange | $1 |
| HARD_MAX | 1 | prange->work_item.op | 3 |
| NOCHECK_CALL | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &svms->lock | ||
| LOCK2 | 0 | &mm->mmap_lock | |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &prange->migrate_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range_list)->lock |