Defined in 1 files as a prototype:

Referenced in 14 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 0,256-4503599627370495
PARAM_VALUE 0 node->start 0,256,2048-4503599627370495
PARAM_VALUE 1 root 4096-ptr_max
NOSPEC 0 node->start
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 node->start 2048-524287[c]
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/vfio/vfio_main.c vfio_ioctl_device_feature_logging_start() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 1 root 1813734410200309760
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 0-18446744073709551614
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_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 0-18446744073709551614
PARAM_VALUE 1 root 4096-ptr_max
PARAM_VALUE 1 root->rb_leftmost 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_area_split() -> interval_tree_insert()

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_fill_domain() -> interval_tree_insert()

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 _T->lock
TYPE_LOCK (struct io_pagetable)->domains_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem
TYPE_LOCK (struct iommufd_ioas)->mutex

drivers/iommu/iommufd/io_pagetable.c iopt_insert_area() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
NOCHECK_CALL
USER_DATA 0 node->__subtree_last 0-u64max[c]
USER_DATA 0 node->start 0-u64max
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &pages->mutex
TYPE_LOCK (struct io_pagetable)->iova_rwsem

drivers/iommu/iommufd/io_pagetable.c iopt_reserve_iova() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
NOCHECK_CALL
USER_DATA 0 node->start 0-u64max[u]
HALF_LOCKED2 &igroup->lock
HALF_LOCKED2 &ioas->iopt.iova_rwsem
HALF_LOCKED2 &ioas->mutex
HALF_LOCKED2 &iopt->domains_rwsem
HALF_LOCKED2 &iopt->iova_rwsem
TYPE_LOCK (struct io_pagetable)->iova_rwsem

drivers/iommu/iommufd/pages.c iopt_area_add_access() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
NOCHECK_CALL
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
HALF_LOCKED2 &staccess->lock
HALF_LOCKED2 &vgpu->cache_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_fill_domains() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 1 root 4096-ptr_max
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_add_mapping() -> interval_tree_insert()

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

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_notifier_insert() -> interval_tree_insert()

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 &mm->mmap_lock
LOCK2 &vm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_range_insert() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 0-9223372036854775805,u64max
PARAM_VALUE 0 node->start 0-9223372036854775806
PARAM_VALUE 1 root 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &(notifier->gpusvm)->notifier_lock
LOCK2 &mm->mmap_lock
LOCK2 &vm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct xe_vm)->lock

fs/fuse/dax.c fuse_setup_one_mapping() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 0-4398046511103,18446739675663040512-u64max
PARAM_VALUE 0 node->start 0-4398046511103,18446739675663040512-u64max
PARAM_VALUE 1 root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 node->last 0-4398046511103,18446739675663040512-u64max[c]
LOCK2 &fi->dax->sem
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct fuse_inode_dax)->sem

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

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_insert()

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_insert()

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_insert()

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

mm/memory-failure.c register_pfn_address_space() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 0-9007199254740989,u64max
PARAM_VALUE 0 node->start 0-4503599627370495
PARAM_VALUE 1 root 7824638959833919488
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_insert() -> interval_tree_insert()

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

mm/mmu_notifier.c __mmu_interval_notifier_insert() -> interval_tree_insert()

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

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

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_add_to_svms() -> interval_tree_insert()

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 &mm->mmap_lock
LOCK2 &svms->lock
HALF_LOCKED2 &process_info->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range_list)->lock

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

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_load_iovas() -> interval_tree_insert()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->last 1-u64max
PARAM_VALUE 0 node->start 0-18446744073709551614
PARAM_VALUE 1 root 192845473141481472
DATA_SOURCE 1 root $0
NOSPEC 0 node->last
NOSPEC 0 node->start
NOCHECK_CALL
USER_DATA 0 node->last 1-u64max[c]
USER_DATA 0 node->start 0-18446744073709551614[c]

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

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