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_add() -> svm_range_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 1 | do_unmap | 0 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | prange->offset | |
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &process_info->lock | ||
| LOCK2 | &svms->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_add() -> svm_range_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 1 | do_unmap | 1 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | prange->offset | |
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &process_info->lock | ||
| LOCK2 | &svms->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_clone() -> svm_range_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->flags | 3 |
| PARAM_VALUE | 0 | prange->invalid.counter | 0 |
| PARAM_VALUE | 0 | prange->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->lock.first_waiter | 0 |
| PARAM_VALUE | 0 | prange->lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | prange->lock.owner.counter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->migrate_mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->migrate_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.owner.counter | 0 |
| PARAM_VALUE | 0 | prange->preferred_loc | u32max |
| PARAM_VALUE | 0 | prange->prefetch_loc | u32max |
| PARAM_VALUE | 0 | prange->svm_bo_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->validate_timestamp | 0 |
| PARAM_VALUE | 0 | prange->vram_pages | 0 |
| PARAM_VALUE | 1 | do_unmap | 0 |
| BUF_SIZE | 0 | prange | 1176 |
| BUF_SIZE | 0 | prange | 1176 |
| DATA_SOURCE | 0 | prange | r svm_range_new |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &process_info->lock | ||
| LOCK2 | &svms->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_create_unregistered_range() -> svm_range_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->flags | 3 |
| PARAM_VALUE | 0 | prange->invalid.counter | 0 |
| PARAM_VALUE | 0 | prange->last | 0-4503599627370494,u64max |
| PARAM_VALUE | 0 | prange->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->lock.first_waiter | 0 |
| PARAM_VALUE | 0 | prange->lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | prange->lock.owner.counter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->migrate_mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->migrate_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.owner.counter | 0 |
| PARAM_VALUE | 0 | prange->preferred_loc | u32max |
| PARAM_VALUE | 0 | prange->prefetch_loc | u32max |
| PARAM_VALUE | 0 | prange->svm_bo_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svms | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svms->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | prange->svms->lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | prange->svms->lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | prange->update_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->validate_timestamp | 0 |
| PARAM_VALUE | 0 | prange->vram_pages | 0 |
| PARAM_VALUE | 1 | do_unmap | 1 |
| BUF_SIZE | 0 | prange | 1176 |
| BUF_SIZE | 0 | prange | 1176 |
| BUF_SIZE | 0 | prange->svms | 1096 |
| CAPPED_DATA | 0 | prange->last | 1 |
| DATA_SOURCE | 0 | prange | r svm_range_new |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &svms->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_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->it_node.rb.rb_right | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->notifier.deferred_item.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->notifier.mm->notifier_subscriptions->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->notifier.ops->invalidate | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->notifier.ops->invalidate_finish | 0,2193403108630056960 |
| PARAM_VALUE | 0 | prange->notifier.ops->invalidate_start | 0,7606346720449052672 |
| PARAM_VALUE | 0 | prange->svm_bo | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo->list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->svm_bo_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->work_item.mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | prange->work_item.op | 1 |
| PARAM_VALUE | 1 | do_unmap | 1 |
| DATA_SOURCE | 0 | prange | $1 |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &svms->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_list_fini() -> svm_range_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo->list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | do_unmap | 1 |
| CAPPED_DATA | 0 | &prange->list | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &kfd_processes_mutex |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_set_attr() -> svm_range_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->notifier.ops->invalidate | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->notifier.ops->invalidate_finish | 0,2193403108630056960 |
| PARAM_VALUE | 0 | prange->notifier.ops->invalidate_start | 0,7606346720449052672 |
| PARAM_VALUE | 0 | prange->svm_bo | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo->list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | do_unmap | 0 |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &process_info->lock | ||
| LOCK2 | &svms->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_split() -> svm_range_free()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->child_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->deferred_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->flags | 3 |
| PARAM_VALUE | 0 | prange->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.first_waiter | 0 |
| PARAM_VALUE | 0 | prange->lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | prange->lock.owner.counter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->migrate_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | prange->migrate_mutex.owner.counter | 0 |
| PARAM_VALUE | 0 | prange->preferred_loc | u32max |
| PARAM_VALUE | 0 | prange->prefetch_loc | u32max |
| PARAM_VALUE | 0 | prange->svm_bo_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->svm_bo_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->update_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | do_unmap | 0 |
| BUF_SIZE | 0 | prange | 1176 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | prange->last | 0-9007199254740989 |
| USER_DATA | 0 | prange->npages | 1-9007199254740990 |
| USER_DATA | 0 | prange->start | 0-9007199254740990[c] |
| NO_OVERFLOW_SIMPLE | 0 | prange->offset | |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &parent->lock | ||
| HALF_LOCKED2 | &prange->lock | ||
| HALF_LOCKED2 | &prange->lock | ||
| HALF_LOCKED2 | &process_info->lock | ||
| HALF_LOCKED2 | &svms->lock |