Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/drm/drm_mm.c drm_mm_init() -> add_hole()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->flags 0
PARAM_VALUE 0 node->mm 4096-ptr_max
PARAM_VALUE 0 node->node_list.next 4096-ptr_max
PARAM_VALUE 0 node->node_list.prev 4096-ptr_max
PARAM_VALUE 0 node->start 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 node->size 0-u64max
USER_DATA 0 node->size 1-u64max
HALF_LOCKED2 &global->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &component_mutex

drivers/gpu/drm/drm_mm.c drm_mm_insert_node_in_range() -> add_hole()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->hole_size 0
PARAM_VALUE 0 node->mm 4096-ptr_max
PARAM_VALUE 0 node->mm->holes_size.rb_leftmost 0,4096-ptr_max
PARAM_VALUE 0 node->mm->holes_size.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 node->mm->interval_tree.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 node->mm->interval_tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 node->node_list.next 4096-ptr_max
PARAM_VALUE 0 node->node_list.next->next 4096-ptr_max
PARAM_VALUE 0 node->node_list.next->prev 4096-ptr_max
PARAM_VALUE 0 node->rb_hole_size.rb_right 0,4096-ptr_max
PARAM_VALUE 0 node->subtree_max_hole 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bo->lock
HALF_LOCKED2 &carveout->lock
HALF_LOCKED2 &client->mm_lock
HALF_LOCKED2 &context->lock
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 &etnaviv_obj->lock
HALF_LOCKED2 &ggtt->lock
HALF_LOCKED2 &ggtt->vm.mutex
HALF_LOCKED2 &i915->mm.stolen_lock
HALF_LOCKED2 &man->lock
HALF_LOCKED2 &man->space_mutex
HALF_LOCKED2 &mapping->mmu->mm_lock
HALF_LOCKED2 &mgr->lock
HALF_LOCKED2 &mgr->vm_lock
HALF_LOCKED2 &private->mm_lock
HALF_LOCKED2 &rman->lock
HALF_LOCKED2 &rocket_priv->mm_lock
HALF_LOCKED2 &t->ce->vm->mutex
HALF_LOCKED2 &tegra->mm_lock
HALF_LOCKED2 &v3d->mm_lock
HALF_LOCKED2 &vgdev->host_visible_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 &vm->mm_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bo->base.base.resv
HALF_LOCKED2 global &drm_unplug_srcu
HALF_LOCKED2 irqflags
HALF_LOCKED2 obj->base.resv

drivers/gpu/drm/drm_mm.c drm_mm_insert_node_in_range() -> add_hole()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->hole_size 0
PARAM_VALUE 0 node->mm 4096-ptr_max
PARAM_VALUE 0 node->node_list.next 4096-ptr_max
PARAM_VALUE 0 node->node_list.prev 4096-ptr_max
PARAM_VALUE 0 node->rb.rb_left 0,4096-ptr_max
PARAM_VALUE 0 node->rb.rb_left->rb_right 0
PARAM_VALUE 0 node->rb.rb_right 0,4096-ptr_max
PARAM_VALUE 0 node->rb.rb_right->rb_left 0
PARAM_VALUE 0 node->size 1-u64max
BUF_SIZE 0 node (-1),176
BUF_SIZE 0 node (-1),176
BUF_SIZE 0 node->mm (-1),248
CAPPED_DATA 0 node->size 1
CAPPED_DATA 0 node->start 1
DATA_SOURCE 0 node $1
NOSPEC 0 node->size
NOSPEC 0 node->start
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 node->size 1-s32max[c]
USER_DATA 0 node->start 0-s32max[c]
HALF_LOCKED2 &bo->lock
HALF_LOCKED2 &carveout->lock
HALF_LOCKED2 &client->mm_lock
HALF_LOCKED2 &context->lock
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 &etnaviv_obj->lock
HALF_LOCKED2 &ggtt->lock
HALF_LOCKED2 &ggtt->vm.mutex
HALF_LOCKED2 &i915->mm.stolen_lock
HALF_LOCKED2 &man->lock
HALF_LOCKED2 &man->space_mutex
HALF_LOCKED2 &mapping->mmu->mm_lock
HALF_LOCKED2 &mgr->lock
HALF_LOCKED2 &mgr->vm_lock
HALF_LOCKED2 &private->mm_lock
HALF_LOCKED2 &rman->lock
HALF_LOCKED2 &rocket_priv->mm_lock
HALF_LOCKED2 &t->ce->vm->mutex
HALF_LOCKED2 &tegra->mm_lock
HALF_LOCKED2 &v3d->mm_lock
HALF_LOCKED2 &vgdev->host_visible_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 &vm->mm_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bo->base.base.resv
HALF_LOCKED2 global &drm_unplug_srcu
HALF_LOCKED2 irqflags
HALF_LOCKED2 obj->base.resv

drivers/gpu/drm/drm_mm.c drm_mm_remove_node() -> add_hole()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->hole_size 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bo->lock
HALF_LOCKED2 &carveout->lock
HALF_LOCKED2 &client->mm_lock
HALF_LOCKED2 &context->lock
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 &etnaviv_obj->lock
HALF_LOCKED2 &ggtt->lock
HALF_LOCKED2 &ggtt->vm.mutex
HALF_LOCKED2 &gt->ggtt->vm.mutex
HALF_LOCKED2 &gvt->lock
HALF_LOCKED2 &hvs->mm_lock
HALF_LOCKED2 &i915->drm.vma_offset_manager->vm_lock
HALF_LOCKED2 &i915->mm.stolen_lock
HALF_LOCKED2 &man->lock
HALF_LOCKED2 &mapping->mmu->mm_lock
HALF_LOCKED2 &mgr->lock
HALF_LOCKED2 &mgr->vm_lock
HALF_LOCKED2 &private->mm_lock
HALF_LOCKED2 &rman->lock
HALF_LOCKED2 &rocket_priv->mm_lock
HALF_LOCKED2 &t->ce->vm->mutex
HALF_LOCKED2 &tegra->mm_lock
HALF_LOCKED2 &v3d->mm_lock
HALF_LOCKED2 &vc4->hvs->mm_lock
HALF_LOCKED2 &vdev->bo_list_lock
HALF_LOCKED2 &vgdev->host_visible_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 &vm->mm_lock
HALF_LOCKED2 &vm->mutex
HALF_LOCKED2 &vma->vm->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 bo->base.base.resv
HALF_LOCKED2 flags
HALF_LOCKED2 irqflags
HALF_LOCKED2 obj->base.resv

drivers/gpu/drm/drm_mm.c drm_mm_reserve_node() -> add_hole()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->hole_size 0
PARAM_VALUE 0 node->mm 4096-ptr_max
PARAM_VALUE 0 node->mm->holes_size.rb_leftmost 0,4096-ptr_max
PARAM_VALUE 0 node->mm->holes_size.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 node->mm->interval_tree.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 node->mm->interval_tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 node->node_list.next 4096-ptr_max
PARAM_VALUE 0 node->node_list.next->next 4096-ptr_max
PARAM_VALUE 0 node->node_list.next->prev 4096-ptr_max
PARAM_VALUE 0 node->rb_hole_size.rb_right 0,4096-ptr_max
PARAM_VALUE 0 node->subtree_max_hole 0
DATA_SOURCE 0 node r find_hole_addr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &i915->drm.vma_offset_manager->vm_lock
HALF_LOCKED2 &i915->mm.stolen_lock
HALF_LOCKED2 &vm->mm_lock

drivers/gpu/drm/drm_mm.c drm_mm_reserve_node() -> add_hole()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->hole_size 0
PARAM_VALUE 0 node->mm 4096-ptr_max
PARAM_VALUE 0 node->mm->holes_addr.rb_node 1-u64max
PARAM_VALUE 0 node->node_list.next 4096-ptr_max
PARAM_VALUE 0 node->node_list.prev 4096-ptr_max
PARAM_VALUE 0 node->rb.rb_left 0,4096-ptr_max
PARAM_VALUE 0 node->rb.rb_left->rb_right 0
PARAM_VALUE 0 node->rb.rb_right 0,4096-ptr_max
PARAM_VALUE 0 node->rb.rb_right->rb_left 0
PARAM_VALUE 0 node->start 0-18446744073709551614
BUF_SIZE 0 node (-1),176,352,528,704
BUF_SIZE 0 node (-1),176,352,528,704
BUF_SIZE 0 node->mm (-1),248
CAPPED_DATA 0 node->start 1
DATA_SOURCE 0 node $1
NOSPEC 0 node->size
NOSPEC 0 node->start
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 node->size 1-u32max[c]
HOST_DATA 0 node->start 0-s32max[c]
USER_DATA 0 node->size 1-21474869214[c]
USER_DATA 0 node->start 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 node->size
NO_OVERFLOW_SIMPLE 0 node->start
HALF_LOCKED2 &i915->drm.vma_offset_manager->vm_lock
HALF_LOCKED2 &i915->mm.stolen_lock
HALF_LOCKED2 &vm->mm_lock