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_deferred_list_work() -> svm_range_handle_list_op()

Type Parameter Key Value
PARAM_VALUE 0 svms 4096-ptr_max
PARAM_VALUE 0 svms->deferred_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 svms->lock.dep_map->name 0-255
PARAM_VALUE 0 svms->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 svms->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 svms->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 svms->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 svms->lock.wait_lock.owner (-1)
PARAM_VALUE 0 svms->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 prange 4096-ptr_max
PARAM_VALUE 1 prange->child_list.next->prev 4096-ptr_max
PARAM_VALUE 1 prange->child_list.prev->next 4096-ptr_max
PARAM_VALUE 2 mm 4096-ptr_max
PARAM_VALUE 2 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 2 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 2 mm->notifier_subscriptions->has_itree 0-1
CAPPED_DATA 0 &svms->deferred_range_list 1
CAPPED_DATA 0 &svms->lock 1
PARAM_COMPARE 0 &svms->deferred_range_list != $0->deferred_range_list.next
NOCHECK_CALL
UNITS 2 mm unit_byte
LOCK2 &prange->migrate_mutex
LOCK2 0 &svms->lock
LOCK2 2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_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_deferred_list_work() -> svm_range_handle_list_op()

Type Parameter Key Value
PARAM_VALUE 0 svms 4096-ptr_max
PARAM_VALUE 0 svms->deferred_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 svms->lock.dep_map->name 0-255
PARAM_VALUE 0 svms->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 svms->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 svms->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 svms->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 svms->lock.wait_lock.owner (-1)
PARAM_VALUE 0 svms->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 prange 4096-ptr_max
PARAM_VALUE 1 prange->migrate_mutex.dep_map->name 0-255
PARAM_VALUE 1 prange->migrate_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 prange->migrate_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 prange->migrate_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 prange->migrate_mutex.wait_lock.dep_map->name 0-255
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->work_item.mm 4096-ptr_max
PARAM_VALUE 1 prange->work_item.mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 1 prange->work_item.mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 1 prange->work_item.mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 1 prange->work_item.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 prange->work_item.mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 prange->work_item.mm->notifier_subscriptions->has_itree 0-1
PARAM_VALUE 2 mm 4096-ptr_max
PARAM_VALUE 2 mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 2 mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 2 mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 2 mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 2 mm->notifier_subscriptions->has_itree 0-1
CAPPED_DATA 0 &svms->deferred_range_list 1
CAPPED_DATA 0 &svms->lock 1
CAPPED_DATA 1 &prange->child_list 1
CAPPED_DATA 1 &prange->migrate_mutex 1
PARAM_COMPARE 0 &svms->deferred_range_list != $0->deferred_range_list.next
NOCHECK_CALL
UNITS 2 mm unit_byte
LOCK2 0 &svms->lock
LOCK2 2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range_list)->lock