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_cpu_invalidate_pagetables() -> svm_range_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | prange->lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | prange->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | prange->saved_flags | 0,2048 |
| CAPPED_DATA | 0 | prange | 1 |
| NOSPEC | 0 | prange->last | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | prange->last | 0-s32max[c] |
| USER_DATA | 0 | prange->npages | 1-s32max |
| LOCK2 | 0 | &prange->lock | |
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &ksm_thread_mutex | ||
| TYPE_LOCK | (struct svm_range)->lock |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_switch_xnack_reserve_mem() -> svm_range_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | prange->lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | prange->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | prange->saved_flags | 0,2048 |
| CAPPED_DATA | 0 | &prange->child_list | 1 |
| CAPPED_DATA | 0 | &prange->list | 1 |
| NOCHECK_CALL | |||
| LOCK2 | &p->mutex | ||
| LOCK2 | &p->svms.lock | ||
| LOCK2 | 0 | &prange->lock | |
| TYPE_LOCK | (struct kfd_process)->mutex | ||
| TYPE_LOCK | (struct svm_range)->lock | ||
| TYPE_LOCK | (struct svm_range_list)->lock |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_validate_and_map() -> svm_range_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | prange->lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | prange->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | prange->migrate_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->migrate_mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->migrate_mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | prange->migrate_mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | prange->migrate_mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->migrate_mutex.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | prange->migrate_mutex.wait_lock.owner_cpu | u32max |
| 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->saved_flags | 0,2048 |
| DATA_SOURCE | 0 | prange | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &svms->lock | ||
| LOCK2 | 0 | &prange->lock | |
| LOCK2 | 0 | &prange->migrate_mutex | |
| HALF_LOCKED2 | &process_info->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range)->lock | ||
| TYPE_LOCK | (struct svm_range)->migrate_mutex | ||
| TYPE_LOCK | (struct svm_range_list)->lock |
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_validate_and_map() -> svm_range_unlock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | prange | 4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | prange->lock.first_waiter->task->blocked_on | 0 |
| PARAM_VALUE | 0 | prange->lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | prange->migrate_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->migrate_mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | prange->migrate_mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | prange->migrate_mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | prange->migrate_mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | prange->migrate_mutex.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | prange->migrate_mutex.wait_lock.owner_cpu | u32max |
| 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->saved_flags | 0,2048 |
| DATA_SOURCE | 0 | prange | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &svms->lock | ||
| LOCK2 | 0 | &prange->lock | |
| LOCK2 | 0 | &prange->migrate_mutex | |
| HALF_LOCKED2 | &process_info->lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock | ||
| TYPE_LOCK | (struct svm_range)->lock | ||
| TYPE_LOCK | (struct svm_range)->migrate_mutex | ||
| TYPE_LOCK | (struct svm_range_list)->lock |