Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_parser_bos() -> amdgpu_hmm_range_free()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_submit() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 0,4096-ptr_max
NOCHECK_CALL
LOCK2 &p->adev->notifier_lock
TYPE_LOCK (struct amdgpu_device)->notifier_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c amdgpu_userq_vm_validate_and_restore_queue() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
PARAM_VALUE 0 range->bo->tbo.base.resv->lock.ww_class->is_wait_die 0-1
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->empty_dir 0,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->get_context 0,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,2632,2648
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->set_context 0,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_export_op->fh_to_parent 0,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000,3511613614414655488-s64max
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_export_op->get_parent 0,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
DATA_SOURCE 0 range r xa_load
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c amdgpu_userq_vm_validate_and_restore_queue() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
PARAM_VALUE 0 range->bo->tbo.base.resv->lock.ww_class->is_wait_die 0-1
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->host->i_sb->s_export_op->fh_to_parent 0,4672,5297,148606482432692224,436469935444291584,457356038048772096,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000-s64max
PARAM_VALUE 0 range->bo->tbo.bdev->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 range->bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 range->bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_validate_and_map() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 0,4096-ptr_max
PARAM_VALUE 0 range->bo 0
PARAM_VALUE 0 range->hmm_range.default_flags 9223372036854775808,13835058055282163712
PARAM_VALUE 0 range->hmm_range.end 0-4294967296
PARAM_VALUE 0 range->hmm_range.hmm_pfns 0,16,4096-ptr_max
PARAM_VALUE 0 range->hmm_range.notifier 4096-ptr_max
PARAM_VALUE 0 range->hmm_range.start 0,2147483648
BUF_SIZE 0 range (-1)-0,72
BUF_SIZE 0 range (-1)-0,72
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &prange->lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
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/amdgpu_gem.c amdgpu_gem_userptr_ioctl() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
PARAM_VALUE 0 range->bo 0
BUF_SIZE 0 range 72
DATA_SOURCE 0 range r amdgpu_hmm_range_alloc
NOCHECK_CALL
USER_DATA 0 range->hmm_range.notifier->interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 range->hmm_range.notifier->interval_tree.start 0-u64max

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_userptr_ioctl() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
PARAM_VALUE 0 range->bo 0
PARAM_VALUE 0 range->hmm_range.default_flags 9223372036854775808,13835058055282163712
PARAM_VALUE 0 range->hmm_range.end 1-4294967296
PARAM_VALUE 0 range->hmm_range.hmm_pfns 16,4096-ptr_max
PARAM_VALUE 0 range->hmm_range.notifier 4096-ptr_max
PARAM_VALUE 0 range->hmm_range.start 0
BUF_SIZE 0 range 72
DATA_SOURCE 0 range r amdgpu_hmm_range_alloc
NOCHECK_CALL
USER_DATA 0 range->hmm_range.notifier->interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 range->hmm_range.notifier->interval_tree.start 0-u64max

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c amdgpu_amdkfd_gpuvm_free_memory_of_gpu() -> amdgpu_hmm_range_free()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &p->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c confirm_valid_user_pages_locked() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
NOCHECK_CALL
LOCK2 &process_info->lock
LOCK2 &process_info->notifier_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct amdkfd_process_info)->notifier_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c init_user_pages() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
PARAM_VALUE 0 range->bo 0
BUF_SIZE 0 range 72
DATA_SOURCE 0 range r amdgpu_hmm_range_alloc
NOCHECK_CALL
USER_DATA 0 range->hmm_range.notifier->interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 range->hmm_range.notifier->interval_tree.start 0-u64max
LOCK2 &p->mutex
LOCK2 &process_info->lock
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct kfd_process)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c init_user_pages() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
PARAM_VALUE 0 range->bo 0
PARAM_VALUE 0 range->hmm_range.default_flags 9223372036854775808,13835058055282163712
PARAM_VALUE 0 range->hmm_range.end 1-4294967296
PARAM_VALUE 0 range->hmm_range.hmm_pfns 16,4096-ptr_max
PARAM_VALUE 0 range->hmm_range.notifier 4096-ptr_max
PARAM_VALUE 0 range->hmm_range.start 0
BUF_SIZE 0 range 72
DATA_SOURCE 0 range r amdgpu_hmm_range_alloc
NOCHECK_CALL
USER_DATA 0 range->hmm_range.notifier->interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 range->hmm_range.notifier->interval_tree.start 0-u64max
LOCK2 &p->mutex
LOCK2 &process_info->lock
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct kfd_process)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c update_invalid_user_pages() -> amdgpu_hmm_range_free()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &process_info->lock
LOCK2 &process_info->notifier_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct amdkfd_process_info)->notifier_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c update_invalid_user_pages() -> amdgpu_hmm_range_free()

Type Parameter Key Value
PARAM_VALUE 0 range 4096-ptr_max
PARAM_VALUE 0 range->bo 0
BUF_SIZE 0 range 72
DATA_SOURCE 0 range r amdgpu_hmm_range_alloc
NOCHECK_CALL
LOCK2 &process_info->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct amdkfd_process_info)->lock