Documented in 1 files:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

lib/iov_iter.c iov_iter_extract_xarray_pages() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 8851408094428491776
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &tls_ctx->tx_lock
HALF_LOCKED2 sk

lib/iov_iter.c iter_xarray_populate_pages() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 5127444035599134720
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/iommu/iommufd/pages.c batch_from_xarray() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 5758341317865996288
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &access->ioas_lock
HALF_LOCKED2 &ioas->mutex
HALF_LOCKED2 &iopt->domains_rwsem
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &pages->mutex
HALF_LOCKED2 _T->lock

drivers/iommu/iommufd/pages.c batch_from_xarray_clear() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &((&xas)->xa)->xa_lock
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_pages_fill_from_xarray() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 1609698968112500736
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 &access->ioas_lock
LOCK2 &iopt->iova_rwsem
LOCK2 &pages->mutex
LOCK2 rcu_read
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 pages_to_xarray() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 0 xas->xa_node 0-18446744073709535237,(-1)
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock
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

mm/filemap.c filemap_get_folios_contig() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 2749290619216510976
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-u64max[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

mm/filemap.c filemap_get_read_batch() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 2830056018175324160
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
NOSPEC 0 xas->xa_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-3842143[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

mm/filemap.c page_cache_next_miss() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 7636142157974593536
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 1-4503599627370496[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read

drivers/target/target_core_user.c tcmu_get_empty_block() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 6707430232214507520
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &udev->cmdr_lock
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

drivers/target/target_core_user.c tcmu_get_empty_block() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 6707430232214507520
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &udev->cmdr_lock
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tcmu_dev)->cmdr_lock

lib/test_xarray.c check_create_range_4() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock

lib/test_xarray.c check_move() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 8833985667634339840
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 8833985667634339840
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move_small() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 874496022831509504
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move_small() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 874496022831509504
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
NOCHECK_CALL
LOCK2 rcu_read

lib/test_xarray.c check_move_small() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 874496022831509504
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_index u64max
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 3
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move_small() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 874496022831509504
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move_tiny() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 2772266472234622976
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_index 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 3
PARAM_VALUE 0 xas->xa_offset 0
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move_tiny() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 2772266472234622976
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move_tiny() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 2772266472234622976
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_index 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 3
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_move_tiny() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 2772266472234622976
PARAM_VALUE 0 xas->xa 5024146686711472128
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
LOCK2 rcu_read

lib/test_xarray.c check_workingset() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 3557312703736500224
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock

lib/test_xarray.c check_workingset() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 3557312703736500224
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock

lib/test_xarray.c xa_store_many_order() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_range_has_memory_attributes() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 9112499204738035712
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-18446744073709551614
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-524287[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read
HALF_LOCKED2 &file->f_mapping->invalidate_lock
HALF_LOCKED2 &kvm->slots_lock

mm/khugepaged.c collapse_file() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 4184487716943413248
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 &mapping->i_mmap_rwsem
LOCK2 irq
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/khugepaged.c collapse_file() -> xas_next()

Type Parameter Key Value
PARAM_VALUE 0 xas 4184487716943413248
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq
HALF_LOCKED2 &mm->mmap_lock