Documented in 1 files:

Defined in 1 files as a function:

Referenced in 20 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 xas 8851408094428491776
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
PARAM_VALUE 1 entry 1-u64max
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_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 5127444035599134720
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

lib/iov_iter.c iterate_xarray() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 771110530444218368
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 global &page_offline_rwsem

drivers/block/brd.c brd_lookup_page() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 5021768919958265856
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
DATA_SOURCE 1 entry r xas_load
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 xas->xa_index 0-2305843009213693951
HOST_DATA 0 xas->xa_offset 0-15[c]
USER_DATA 0 xas->xa_index 0-2305843009213693951
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &pool->lock

net/core/datagram.c iterate_xarray() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 6244834771174039552
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

net/core/skbuff.c iterate_xarray() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 3827925139633115136
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &kcm->tx_mutex
HALF_LOCKED2 sk

lib/xarray.c xa_find() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 5648280818083405824
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-ptr_max
LOCK2 rcu_read

lib/xarray.c xa_find_after() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 5004936300812226560
PARAM_VALUE 0 xas->xa_node 0,4096-ptr_max
LOCK2 rcu_read

lib/xarray.c xa_load() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 3145489374425661440
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 0-1029,1031-u64max
DATA_SOURCE 1 entry r xa_zero_to_null
LOCK2 rcu_read

lib/xarray.c xas_extract_marked() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 136050449725059072
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
DATA_SOURCE 0 xas $0
LOCK2 &userq->fence_drv_lock
LOCK2 rcu_read
TYPE_LOCK (struct amdgpu_usermode_queue)->fence_drv_lock

lib/xarray.c xas_extract_present() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 136050449725059072
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
DATA_SOURCE 0 xas $0
LOCK2 &userq->fence_drv_lock
LOCK2 rcu_read
TYPE_LOCK (struct amdgpu_usermode_queue)->fence_drv_lock

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

Type Parameter Key Value
PARAM_VALUE 0 xas 5758341317865996288
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
DATA_SOURCE 1 entry r xas_next
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_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
DATA_SOURCE 1 entry r xas_next
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_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 1609698968112500736
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
DATA_SOURCE 1 entry r xas_next
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

mm/shmem.c shmem_confirm_swap() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 3766250426435674112
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
DATA_SOURCE 1 entry r xas_load
NOSPEC 0 xas->xa_index
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 xas->xa_index 0-2251799813685247[c]
HOST_DATA 0 xas->xa_offset 0-15[c]
USER_DATA 0 xas->xa_index 0-2251799813685247[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read

mm/shmem.c shmem_find_swap_entries() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 6969829257389121536
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
CAPABLE 0 21
LOCK2 rcu_read

mm/shmem.c shmem_partial_swap_usage() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 6448362035493040128
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &m->lock

fs/btrfs/extent_io.c find_get_eb() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 1327306516849770496
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-ptr_max
DATA_SOURCE 0 xas $0
DATA_SOURCE 1 entry r xas_find_marked
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-u64max
LOCK2 rcu_read

mm/filemap.c filemap_cachestat() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 8973220117944201216
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
USER_DATA 0 xas->xa_index 0-4503599627370495[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read

mm/filemap.c filemap_get_entry() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 8237657794248294400
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
DATA_SOURCE 1 entry r xas_load
NOSPEC 0 xas->xa_index
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 xas->xa_index 0-2251799813685247[c]
HOST_DATA 0 xas->xa_offset 0-15[c]
USER_DATA 0 xas->xa_index 0-u64max
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 xas 2749290619216510976
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
PARAM_VALUE 1 entry 1-u64max
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_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 2830056018175324160
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
PARAM_VALUE 1 entry 1-u64max
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 filemap_range_has_page() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 2754753587004928000
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
DATA_SOURCE 1 entry r xas_find
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-2251799813685247,18444492273895866368-u64max[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

mm/filemap.c filemap_range_has_writeback() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 8040229289626853376
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-2251799813685247,18444492273895866368-u64max[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read
HALF_LOCKED2 &inode->vfs_inode.i_rwsem

mm/filemap.c find_get_entry() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 1557338091834888192,2717291556065316864,3061209720107622400,3296202185961701376,4208157823400185856
PARAM_VALUE 0 xas->xa_node 0-1,3-ptr_max,(-1)
DATA_SOURCE 0 xas $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-u64max
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read

mm/filemap.c next_uptodate_folio() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 7249204292207685632
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
DATA_SOURCE 0 xas $0
DATA_SOURCE 1 entry r xas_next_entry
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 xas->xa_index 0-u64max
USER_DATA 0 xas->xa_offset 0-255
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 vmf->ptl

fs/netfs/rolling_buffer.c __readahead_batch() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 2495289758785691648
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
NOSPEC 0 xas->xa_index
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

drivers/infiniband/core/device.c xan_find_marked() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 8881980702078799872
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-ptr_max
DATA_SOURCE 1 entry r xas_find_marked
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dev->client_data_rwsem
HALF_LOCKED2 &ibdev->client_data_rwsem
HALF_LOCKED2 global &devices_rwsem
TYPE_LOCK (struct ib_device)->client_data_rwsem

fs/squashfs/file.c __readahead_batch() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 2437667243596259328
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
NOSPEC 0 xas->xa_index
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 &mapping->invalidate_lock

lib/scatterlist.c extract_xarray_to_sg() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 1042795620629725184
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mr->mutex

fs/smb/client/cifsencrypt.c iterate_xarray() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 3252417950830907392
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &server->_srv_mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_fence_alloc() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 5557016882511552512
PARAM_VALUE 0 xas->xa_node 0-1,3,4096-ptr_max
DATA_SOURCE 1 entry r xas_find_marked
LOCK2 &userq->fence_drv_lock
LOCK2 rcu_read
TYPE_LOCK (struct amdgpu_usermode_queue)->fence_drv_lock

lib/test_xarray.c check_xas_retry() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4579784603435020288
PARAM_VALUE 0 xas->xa_node 0,4096-ptr_max
PARAM_VALUE 1 entry 0
LOCK2 rcu_read

lib/test_xarray.c check_xas_retry() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4579784603435020288
PARAM_VALUE 0 xas->xa_node 0,4096-ptr_max
PARAM_VALUE 1 entry 1
LOCK2 rcu_read

lib/test_xarray.c test_get_entry() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 7974886523828727808
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
DATA_SOURCE 1 entry r xas_load
LOCK2 rcu_read

lib/test_xarray.c xa_find_entry() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4970588109599858688
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
LOCK2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 xas 9112499204738035712
PARAM_VALUE 0 xas->xa_node 0-1,4096-18446744073709551614
DATA_SOURCE 1 entry r xas_next
RX_PATH
TASK_NOT_RUNNING
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_scan_file() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 6626938681375535104
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

fs/netfs/iterator.c netfs_limit_xarray() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 1367605643520507904
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c mlx5_fc_stats_query_all_counters() -> xas_retry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
PREEMPT_ADD <- disables preempt
LOCK2 &((&xas)->xa)->xa_lock
HALF_LOCKED2 &pool->lock