Defined in 1 files as a prototype:

Referenced in 14 files:

Smatch caller information:

drivers/gpu/drm/radeon/radeon_vm.c radeon_vm_bo_rmv() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vm->mutex
HALF_LOCKED2 rbo->tbo.base.resv
HALF_LOCKED2 rdev->ring_tmp_bo.bo->tbo.base.resv
TYPE_LOCK (struct radeon_vm)->mutex

drivers/gpu/drm/radeon/radeon_vm.c radeon_vm_bo_set_addr() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
NOCHECK_CALL
LOCK2 &vm->mutex
LOCK2 rbo->tbo.base.resv
TYPE_LOCK (struct radeon_vm)->mutex

drivers/gpu/drm/radeon/radeon_vm.c radeon_vm_fini() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 40,4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/vfio/vfio_main.c vfio_combine_iova_ranges() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 1813734410200309760
CAPPED_DATA 0 node->start 1
DATA_SOURCE 1 root $0
NOCHECK_CALL
HALF_LOCKED2 &mvdev->state_mutex
HALF_LOCKED2 &pds_vfio->state_mutex

drivers/vfio/vfio_main.c vfio_combine_iova_ranges() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 1813734410200309760
PARAM_VALUE 1 root->rb_leftmost 4096-ptr_max
PARAM_VALUE 1 root->rb_root.rb_node 4096-ptr_max
CAPPED_DATA 0 node->start 1
DATA_SOURCE 1 root $0
NOCHECK_CALL
HALF_LOCKED2 &mvdev->state_mutex
HALF_LOCKED2 &pds_vfio->state_mutex

drivers/iommu/iommufd/io_pagetable.c __iopt_remove_reserved_iova() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 0,4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &iopt->iova_rwsem
HALF_LOCKED2 &igroup->lock
HALF_LOCKED2 &ioas->mutex
HALF_LOCKED2 &iopt->domains_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem

drivers/iommu/iommufd/io_pagetable.c iopt_abort_area() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &area->iopt->iova_rwsem
HALF_LOCKED2 &iopt->domains_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem

drivers/iommu/iommufd/io_pagetable.c iopt_area_split() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
NOCHECK_CALL
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iopt_pages)->mutex

drivers/iommu/iommufd/io_pagetable.c iopt_area_split() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
NOCHECK_CALL
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iopt_pages)->mutex

drivers/iommu/iommufd/io_pagetable.c iopt_area_split() -> interval_tree_remove()

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 4096-ptr_max
NOCHECK_CALL
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iopt_pages)->mutex

drivers/iommu/iommufd/io_pagetable.c iopt_destroy_table() -> interval_tree_remove()

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
CAPPED_DATA 0 node->start 1
DATA_SOURCE 0 node r interval_tree_iter_first
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/iommu/iommufd/io_pagetable.c iopt_fill_domain() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 48,4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
NOCHECK_CALL
LOCK2 &ioas->mutex
LOCK2 &iopt->domains_rwsem
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
LOCK2 _T->lock
TYPE_LOCK (struct io_pagetable)->domains_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommufd_ioas)->mutex
TYPE_LOCK (struct iopt_pages)->mutex

drivers/iommu/iommufd/io_pagetable.c iopt_unfill_domain() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 48,4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &iopt->domains_rwsem
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
TYPE_LOCK (struct io_pagetable)->domains_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iopt_pages)->mutex

drivers/iommu/iommufd/pages.c iopt_area_remove_access() -> interval_tree_remove()

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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
HALF_LOCKED2 &staccess->lock
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommufd_access)->ioas_lock
TYPE_LOCK (struct iopt_pages)->mutex

drivers/iommu/iommufd/pages.c iopt_area_unfill_domains() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &iopt->domains_rwsem
LOCK2 &pages->mutex
TYPE_LOCK (struct io_pagetable)->domains_rwsem
TYPE_LOCK (struct iopt_pages)->mutex

drivers/iommu/virtio-iommu.c viommu_del_mappings() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
CAPPED_DATA 0 node->start 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vdomain->mappings_lock
LOCK2 flags
HALF_LOCKED2 &group->mutex
TYPE_LOCK (struct viommu_domain)->mappings_lock

drivers/gpu/drm/drm_gpusvm.c __drm_gpusvm_range_remove() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &gpusvm->notifier_lock
HALF_LOCKED2 &vm->lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_notifier_remove() -> interval_tree_remove()

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
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vm->lock

fs/fuse/dax.c inode_reclaim_dmap_range() -> interval_tree_remove()

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
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/fuse/dax.c reclaim_one_dmap_locked() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fi->dax->sem
LOCK2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct address_space)->invalidate_lock
TYPE_LOCK (struct fuse_inode_dax)->sem

lib/interval_tree_test.c basic_check() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 0-ptr_max
PARAM_VALUE 1 root 5990125474845216768
NOCHECK_CALL

lib/interval_tree_test.c intersection_range_check() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 0-ptr_max
PARAM_VALUE 1 root 5990125474845216768
NOCHECK_CALL

lib/interval_tree_test.c search_check() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 0-ptr_max
PARAM_VALUE 1 root 5990125474845216768
NOCHECK_CALL

lib/interval_tree_test.c span_iteration_check() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 0-ptr_max
PARAM_VALUE 1 root 5990125474845216768
NOCHECK_CALL

mm/memory-failure.c unregister_pfn_address_space() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 7824638959833919488
PARAM_VALUE 1 root->rb_root.rb_node 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &device->dev_set->lock
LOCK2 _T->lock
HALF_LOCKED2 &device->group->group_lock
TYPE_LOCK (struct vfio_device_set)->lock

mm/mmu_notifier.c mmu_interval_notifier_remove() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 node->__subtree_last 0-u64max[c]
USER_DATA 0 node->start 0-u64max
LOCK2 &subscriptions->lock
HALF_LOCKED2 &uctxt->exp_mutex
HALF_LOCKED2 &vm->lock
TYPE_LOCK (struct mmu_notifier_subscriptions)->lock

mm/mmu_notifier.c mn_itree_inv_end() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 0,4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &subscriptions->lock
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct mmu_notifier_subscriptions)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_unlink() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 1-u64max
PARAM_VALUE 0 node->start 1-u64max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &process_info->lock
HALF_LOCKED2 &svms->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_update_notifier_and_interval_tree() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &svms->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &prange->migrate_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range_list)->lock

drivers/iommu/iommufd/ioas.c iommufd_ioas_allow_iovas() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 192845473141481472
PARAM_VALUE 1 root->rb_root.rb_node 1-u64max
CAPPED_DATA 0 node->start 1
DATA_SOURCE 0 node r interval_tree_iter_first
NOCHECK_CALL

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_replace_memslot() -> interval_tree_remove()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &kvm->slots_arch_lock
HALF_LOCKED2 &kvm->slots_lock
HALF_LOCKED2 _T->lock