Documented in 1 files:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

lib/maple_tree.c mt_dump_entry() -> xa_is_zero()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
UNITS 0 entry unit_byte

lib/maple_tree.c mt_find() -> xa_is_zero()

Type Parameter Key Value
DATA_SOURCE 0 entry r mas_state_walk
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

lib/maple_tree.c mt_find() -> xa_is_zero()

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry r mas_next_slot
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

lib/maple_tree.c mt_find() -> xa_is_zero()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

lib/maple_tree.c mtree_load() -> xa_is_zero()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 entry unit_byte
HALF_LOCKED2 &(&ictx->mt_mmap)->ma_lock
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &iommu->lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &split_debug_mutex
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu
HALF_LOCKED2 global &ksm_thread_mutex

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &kcm->tx_mutex

lib/xarray.c xa_zero_to_null() -> xa_is_zero()

Type Parameter Key Value
DATA_SOURCE 0 entry $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
LOCK2 rcu_read
HALF_LOCKED2 &userq->fence_drv_lock

lib/xarray.c xas_store() -> xa_is_zero()

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
BUF_SIZE 0 entry (-1)-s32max
BUF_SIZE 0 entry (-1)-s32max
BUF_SIZE 0 entry->adev.name (-1),3
BUF_SIZE 0 entry->agent.context s32min-(-1),1-s32max
BUF_SIZE 0 entry->attachment (-1),64
BUF_SIZE 0 entry->bd_disk (-1),2000
BUF_SIZE 0 entry->bd_holder_dir (-1),248
BUF_SIZE 0 entry->bd_meta_info (-1),101
BUF_SIZE 0 entry->bd_queue (-1),1-s32max
BUF_SIZE 0 entry->bo (-1),96
BUF_SIZE 0 entry->bridge (-1),536,960
BUF_SIZE 0 entry->chunk_pool (-1),120
BUF_SIZE 0 entry->client (-1),16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
BUF_SIZE 0 entry->cm_id (-1)-0,56
BUF_SIZE 0 entry->cm_id->context (-1),280-s32max
BUF_SIZE 0 entry->coaddr (-1),16
BUF_SIZE 0 entry->config (-1),80
BUF_SIZE 0 entry->cpu_addr (-1)-0,4096-s32max
BUF_SIZE 0 entry->ctx s32min-(-1),1-s32max
BUF_SIZE 0 entry->data (-1),192
BUF_SIZE 0 entry->default_gid_type (-1)-s32max
BUF_SIZE 0 entry->default_roce_tos (-1),1
BUF_SIZE 0 entry->dereg_skb (-1),512
BUF_SIZE 0 entry->destroy_skb (-1),64
BUF_SIZE 0 entry->dev s32min-(-1),1-s32max
BUF_SIZE 0 entry->dev.parent (-1),1616
BUF_SIZE 0 entry->dmabuf s32min-(-1),1-s32max
BUF_SIZE 0 entry->dpll (-1),272
BUF_SIZE 0 entry->dport (-1),8,96,1296,1760-1880
BUF_SIZE 0 entry->driver_def (-1),32,112
BUF_SIZE 0 entry->drv_priv s32min-(-1),1-s32max
BUF_SIZE 0 entry->dst (-1)-0,152
BUF_SIZE 0 entry->encap (-1),24
BUF_SIZE 0 entry->encl s32min-(-1),1-s32max
BUF_SIZE 0 entry->entity (-1),352
BUF_SIZE 0 entry->extent_op (-1)-s32max
BUF_SIZE 0 entry->file s32min-(-1),1-s32max
BUF_SIZE 0 entry->file_priv (-1),16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
BUF_SIZE 0 entry->fpriv (-1),16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
BUF_SIZE 0 entry->guc (-1),1584
BUF_SIZE 0 entry->handle (-1),128
BUF_SIZE 0 entry->hdr (-1),176
BUF_SIZE 0 entry->heap (-1),336
BUF_SIZE 0 entry->i915 (-1),424,1216
BUF_SIZE 0 entry->ibmr.device (-1),4936
BUF_SIZE 0 entry->ictx s32min-(-1),1-s32max
BUF_SIZE 0 entry->id.context (-1),280-s32max
BUF_SIZE 0 entry->ida (-1),88
BUF_SIZE 0 entry->iommufd_hwpt (-1),40
BUF_SIZE 0 entry->m10bmc s32min-(-1),1-s32max
BUF_SIZE 0 entry->map (-1),112
BUF_SIZE 0 entry->mem_obj (-1),32-67108888
BUF_SIZE 0 entry->mmap_rq_cmb (-1),208
BUF_SIZE 0 entry->mmap_sq_cmb (-1),208
BUF_SIZE 0 entry->mr_1m_pool (-1),576
BUF_SIZE 0 entry->mr_8k_pool (-1),576
BUF_SIZE 0 entry->name (-1)-s32max
BUF_SIZE 0 entry->name_node (-1),64
BUF_SIZE 0 entry->name_node->name (-1),16
BUF_SIZE 0 entry->nport (-1),480,1080
BUF_SIZE 0 entry->opp_table (-1),1-s32max
BUF_SIZE 0 entry->ops (-1)-0,8,16,24,88,144
BUF_SIZE 0 entry->owner s32min-(-1),1-s32max
BUF_SIZE 0 entry->param (-1),144,216,288,360,504
BUF_SIZE 0 entry->parse_attr (-1),2352
BUF_SIZE 0 entry->pcidev (-1),1-s32max
BUF_SIZE 0 entry->pd (-1)-s32max
BUF_SIZE 0 entry->pd->res.kern_name (-1),7,9
BUF_SIZE 0 entry->peer s32min-(-1),1-s32max
BUF_SIZE 0 entry->phy (-1),24,32,88,104,108-1096,2592
BUF_SIZE 0 entry->pin (-1),576
BUF_SIZE 0 entry->priv (-1),16,192
BUF_SIZE 0 entry->priv_data (-1),8
BUF_SIZE 0 entry->private_data (-1),320-s32max
BUF_SIZE 0 entry->protm_suspend_buf (-1),200
BUF_SIZE 0 entry->pt_ops (-1),32
BUF_SIZE 0 entry->reg_req (-1)-0,24
BUF_SIZE 0 entry->region (-1),64,128,1944
BUF_SIZE 0 entry->root_ns (-1),1704
BUF_SIZE 0 entry->rx_sc (-1),96
BUF_SIZE 0 entry->set_id (-1),1616
BUF_SIZE 0 entry->share_conf (-1),96
BUF_SIZE 0 entry->src_vsi (-1)-0,4096
BUF_SIZE 0 entry->suspend_buf (-1),200
BUF_SIZE 0 entry->syncobjs (-1),200
BUF_SIZE 0 entry->timewait_info (-1),400
BUF_SIZE 0 entry->umem (-1),88
BUF_SIZE 0 entry->upstream.netdev s32min-(-1),1-s32max
BUF_SIZE 0 entry->user_limits (-1),48
BUF_SIZE 0 entry->userq_mgr (-1),752
BUF_SIZE 0 entry->vm (-1),3552
BUF_SIZE 0 entry->vsi (-1),4096
BUF_SIZE 0 entry->vtsk (-1),288
BUF_SIZE 0 entry->wr_waitp (-1),104
BUF_SIZE 0 entry->x (-1),1-s32max
BUF_SIZE 0 entry->xa_rej_tmout (-1),88
BUF_SIZE 0 entry->xef (-1),16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
BUF_SIZE 0 entry->xg_busy_extents (-1),176
BUF_SIZE 0 entry->xs_net.net (-1),1-s32max
DATA_SOURCE 0 entry $1
STR_LEN 0 entry->adev.name (-1),2
STR_LEN 0 entry->agent.device (-1),6-9,11-12
STR_LEN 0 entry->dev (-1),6-9,11-12
STR_LEN 0 entry->device (-1),6-9,11-12
STR_LEN 0 entry->ib_dev (-1),6-9,11-12
STR_LEN 0 entry->ib_device (-1),6-9,11-12
STR_LEN 0 entry->ibdev (-1),6-9,11-12
STR_LEN 0 entry->id.device (-1),6-9,11-12
STR_LEN 0 entry->id.name (-1),43
STR_LEN 0 entry->name (-1),6,10-11,16,23,31,41
STR_LEN 0 entry->nport->display_name (-1),31
STR_LEN 0 entry->nport->wwnn_str (-1),31
STR_LEN 0 entry->owner (-1)
STR_LEN 0 entry->pd->device (-1),3,6-12
STR_LEN 0 entry->pd->flags (-1),6-8
STR_LEN 0 entry->pd->res.kern_name (-1),6,8
STR_LEN 0 entry->phy (-1)-63
STR_LEN 0 entry->phy->attached_dev (-1)-63
STR_LEN 0 entry->rd_device (-1),6-9,11-12
STR_LEN 0 entry->se_cmd (-1)
STR_LEN 0 entry->wwnn_str (-1),31
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 entry->agent.device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->agent.device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->agent.device->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->attr.len
NO_OVERFLOW_SIMPLE 0 entry->attr.pbl_size
NO_OVERFLOW_SIMPLE 0 entry->attrs.phys.port_number
NO_OVERFLOW_SIMPLE 0 entry->bd_disk->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 entry->bd_disk->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 entry->bd_queue->async_depth
NO_OVERFLOW_SIMPLE 0 entry->bd_queue->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 entry->bd_queue->nr_requests
NO_OVERFLOW_SIMPLE 0 entry->cdev.count
NO_OVERFLOW_SIMPLE 0 entry->cm_id->id.device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->cm_id->id.device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->cm_id->id.device->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->dev->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->dev->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->dev->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->device->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->ib_device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->ib_device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->ib_device->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->ibdev->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->ibdev->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->ibdev->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->ibmr.length
NO_OVERFLOW_SIMPLE 0 entry->index
NO_OVERFLOW_SIMPLE 0 entry->indir_size
NO_OVERFLOW_SIMPLE 0 entry->ipsec_rule.auth.rule->num_rules
NO_OVERFLOW_SIMPLE 0 entry->ipsec_rule.replay.rule->num_rules
NO_OVERFLOW_SIMPLE 0 entry->ipsec_rule.rule->num_rules
NO_OVERFLOW_SIMPLE 0 entry->ipsec_rule.sa_sel->num_rules
NO_OVERFLOW_SIMPLE 0 entry->ipsec_rule.status_pass->num_rules
NO_OVERFLOW_SIMPLE 0 entry->ipsec_rule.trailer.rule->num_rules
NO_OVERFLOW_SIMPLE 0 entry->key_off
NO_OVERFLOW_SIMPLE 0 entry->max
NO_OVERFLOW_SIMPLE 0 entry->mem.vram->io_size
NO_OVERFLOW_SIMPLE 0 entry->mentry.rdma_entry.start_pgoff
NO_OVERFLOW_SIMPLE 0 entry->nsid
NO_OVERFLOW_SIMPLE 0 entry->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->num_modules
NO_OVERFLOW_SIMPLE 0 entry->num_rules
NO_OVERFLOW_SIMPLE 0 entry->pd->device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->pd->device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->pd->device->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->qed_qp->sq_num_pages
NO_OVERFLOW_SIMPLE 0 entry->rd_device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 entry->rd_device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 entry->rd_device->phys_port_cnt
NO_OVERFLOW_SIMPLE 0 entry->real_num_rx_queues
NO_OVERFLOW_SIMPLE 0 entry->real_num_tx_queues
NO_OVERFLOW_SIMPLE 0 entry->req_buf_cache->object_size
NO_OVERFLOW_SIMPLE 0 entry->req_buf_cache->ref.refs.counter
NO_OVERFLOW_SIMPLE 0 entry->ring.size
NO_OVERFLOW_SIMPLE 0 entry->rq.pbl.pbl_sp.table_size
NO_OVERFLOW_SIMPLE 0 entry->rule->num_rules
NO_OVERFLOW_SIMPLE 0 entry->shadow_rq.stride
NO_OVERFLOW_SIMPLE 0 entry->shadow_sq.stride
NO_OVERFLOW_SIMPLE 0 entry->sq.pbl.pbl_sp.table_size
NO_OVERFLOW_SIMPLE 0 entry->src_vsi->idx
NO_OVERFLOW_SIMPLE 0 entry->urq.db_mmap_entry->start_pgoff
NO_OVERFLOW_SIMPLE 0 entry->urq.pbl_info.num_pbes
NO_OVERFLOW_SIMPLE 0 entry->urq.pbl_info.num_pbls
NO_OVERFLOW_SIMPLE 0 entry->urq.pbl_info.pbl_size
NO_OVERFLOW_SIMPLE 0 entry->usq.db_mmap_entry->start_pgoff
NO_OVERFLOW_SIMPLE 0 entry->usq.pbl_info.num_pbes
NO_OVERFLOW_SIMPLE 0 entry->usq.pbl_info.num_pbls
NO_OVERFLOW_SIMPLE 0 entry->usq.pbl_info.pbl_size
NO_OVERFLOW_SIMPLE 0 entry->usrq.db_mmap_entry->start_pgoff
NO_OVERFLOW_SIMPLE 0 entry->usrq.pbl_info.num_pbes
NO_OVERFLOW_SIMPLE 0 entry->usrq.pbl_info.num_pbls
NO_OVERFLOW_SIMPLE 0 entry->usrq.pbl_info.pbl_size
NO_OVERFLOW_SIMPLE 0 entry->vsi->idx
NO_OVERFLOW_SIMPLE 0 entry->wq.sq.size
UNITS 0 entry unit_page
HALF_LOCKED2 &(&ictx->objects)->xa_lock
HALF_LOCKED2 &(&mapping->i_pages)->xa_lock
HALF_LOCKED2 &((&xas)->xa)->xa_lock
HALF_LOCKED2 &(xas->xa)->xa_lock
HALF_LOCKED2 &access->ioas_lock
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &pages->mutex
HALF_LOCKED2 flags
HALF_LOCKED2 irq

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &((&xas)->xa)->xa_lock
HALF_LOCKED2 &access->ioas_lock
HALF_LOCKED2 &iopt->iova_rwsem
HALF_LOCKED2 &pages->mutex
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/iommu/iommufd/main.c iommufd_object_remove() -> xa_is_zero()

Type Parameter Key Value
DATA_SOURCE 0 entry r xas_load
PREEMPT_ADD <- disables preempt
RX_PATH
LOCK2 &(&ictx->objects)->xa_lock

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem

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

Type Parameter Key Value
DATA_SOURCE 0 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

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
CAPPED_DATA 0 entry 1
DATA_SOURCE 0 entry r xas_find_marked
RX_PATH
TASK_NOT_RUNNING
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

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
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

lib/test_maple_tree.c check_find_2() -> xa_is_zero()

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry r mas_find
LOCK2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mapping->invalidate_lock

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mr->mutex
HALF_LOCKED2 sk

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &server->_srv_mutex

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
LOCK2 &userq->fence_drv_lock
LOCK2 rcu_read
TYPE_LOCK (struct amdgpu_usermode_queue)->fence_drv_lock

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
LOCK2 rcu_read

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

Type Parameter Key Value
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &file->f_mapping->invalidate_lock
HALF_LOCKED2 &kvm->slots_lock

mm/khugepaged.c xas_retry() -> xa_is_zero()

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

drivers/infiniband/core/restrack.c rdma_restrack_count() -> xa_is_zero()

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &(&rt->xa)->xa_lock
HALF_LOCKED2 global &devices_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 entry 1-u64max
DATA_SOURCE 0 entry $1
PREEMPT_ADD
LOCK2 &((&xas)->xa)->xa_lock
HALF_LOCKED2 &pool->lock