Defined in 2 files as a function:

Referenced in 4 files:

Smatch caller information:

lib/rbtree_test.c erase_augmented_cached() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 8350103880887631872
PARAM_VALUE 2 augment 6694312755890180096
DATA_SOURCE 1 root $1
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_it_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 augment 9199634375300587520
DATA_SOURCE 1 root $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/interval_tree.c __anon_rmap_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 1097998363213066240
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &active_anon_vma->root->rwsem
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct anon_vma)->rwsem

mm/interval_tree.c __mapping_rmap_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 6859491658584444928
DATA_SOURCE 1 root $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock

drivers/gpu/drm/drm_mm.c drm_mm_interval_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 2537045857511006208
DATA_SOURCE 1 root $1
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

lib/interval_tree.c interval_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 0-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 8748685894933450752
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &access->ioas_lock
HALF_LOCKED2 &area->iopt->iova_rwsem
HALF_LOCKED2 &device->dev_set->lock
HALF_LOCKED2 &fi->dax->sem
HALF_LOCKED2 &gpusvm->notifier_lock
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &ioas->mutex
HALF_LOCKED2 &iopt->domains_rwsem
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pages->mutex
HALF_LOCKED2 &subscriptions->lock
HALF_LOCKED2 &svms->lock
HALF_LOCKED2 &vdomain->mappings_lock
HALF_LOCKED2 &vm->mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 rbo->tbo.base.resv

drivers/vhost/iotlb.c vhost_iotlb_itree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 3472404132620492800
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &domain->iotlb_lock

drivers/infiniband/hw/usnic/usnic_uiom_interval_tree.c usnic_uiom_interval_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 4992260578271182848
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pd->lock
TYPE_LOCK (struct usnic_uiom_pd)->lock

kernel/sched/fair.c __dequeue_entity() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 3633624734679515136
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/xfs/scrub/bitmap.c xbitmap32_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 2 augment 6081298398221295616
DATA_SOURCE 1 root $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/xfs/scrub/bitmap.c xbitmap64_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 6256998951212642304
DATA_SOURCE 1 root $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/i915/i915_vma_resource.c vma_res_itree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 8319960284154515456
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vm->mutex
TYPE_LOCK (struct i915_address_space)->mutex

drivers/md/raid1.c raid1_rb_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 1 root->rb_root.rb_node 1-u64max
PARAM_VALUE 2 augment 3446001225776431104
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &serial->serial_lock
LOCK2 flags
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot
TYPE_LOCK (struct serial_in_rdev)->serial_lock

drivers/gpu/drm/xe/xe_range_fence.c xe_range_fence_tree_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 3766315592766009344
DATA_SOURCE 1 root $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/mm/pat/memtype_interval.c interval_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 427256099145396224
PARAM_VALUE 1 root->rb_root.rb_node 1-u64max
PARAM_VALUE 2 augment 5335768807886344192
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &memtype_lock

drivers/infiniband/hw/hfi1/mmu_rb.c __mmu_int_rb_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 3585499336135806976
BUF_SIZE 1 root (-1),16
BUF_SIZE 1 root (-1),16
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &handler->lock
LOCK2 flags
HALF_LOCKED2 &fd->pq_srcu
HALF_LOCKED2 global &srcu
TYPE_LOCK (struct mmu_rb_handler)->lock

drivers/gpu/drm/drm_gpuvm.c drm_gpuva_it_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 8623484100406034432
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/bpf/range_tree.c __range_it_remove() -> rb_erase_augmented_cached()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 2 augment 575396225201524736
DATA_SOURCE 1 root $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL