Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 13 files:
- arch/arm64/kvm/vgic/vgic-its.c, line 124
- drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c, line 127
- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c, line 589
- drivers/xen/grant-dma-ops.c, line 62
- fs/btrfs/delayed-inode.c, line 172
- fs/btrfs/qgroup.c, line 2058
- fs/nilfs2/page.c, line 335
- include/linux/xarray.h
- lib/test_xarray.c
- lib/xarray.c
- mm/huge_memory.c, line 4039
- mm/shmem.c, line 2227
- net/devlink/region.c
Smatch caller information:
mm/huge_memory.c __folio_freeze_and_split_unmapped() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 8,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0-18446744073709551614 |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 0 |
| CAPPED_DATA | 1 | index | 1 |
| CAPPED_DATA | 1 | index | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_page |
| LOCK2 | irq | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock | ||
| HALF_LOCKED2 | &anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &mapping->i_mmap_rwsem |
drivers/infiniband/hw/mlx5/qpc.c xa_store_irq() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | index | 0-16777215 |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3264 |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | 0 | &xa->xa_lock | |
| TYPE_LOCK | (struct xarray)->xa_lock |
fs/nilfs2/page.c nilfs_copy_back_pages() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3136 |
| CAPABLE | 0 | 21 | |
| UNITS | 1 | index | unit_page |
| LOCK2 | &(&dmap->i_pages)->xa_lock | ||
| LOCK2 | &mi->mi_sem | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct nilfs_mdt_info)->mi_sem |
lib/ref_tracker.c xa_store_irq() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 984938599835877376,9166560104339156992 |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | index | 4096-18446744073709547520 |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3264 |
| BUF_SIZE | 1 | index->class | (-1),7,9-14,17 |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| STR_LEN | 0 | xa | (-1),6,8-13,16,20,23 |
| STR_LEN | 0 | xa | (-1),6,8-13,16,20,23 |
| STR_LEN | 1 | index | (-1),6,8-13,16,20,23 |
| STR_LEN | 1 | index | (-1),6,8-13,16,20,23 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | 0 | &xa->xa_lock | |
| TYPE_LOCK | (struct xarray)->xa_lock |
drivers/xen/grant-dma-ops.c store_xen_grant_dma_data() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 7423837077206151168 |
| PARAM_VALUE | 1 | index | 4096-18446744073709547520 |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 2080 |
| BUF_SIZE | 2 | entry | 4 |
| DATA_SOURCE | 1 | index | $0 |
| DATA_SOURCE | 2 | entry | $1 |
| UNITS | 1 | index | unit_byte |
| LOCK2 | flags | ||
| LOCK2 | global &(&xen_grant_dma_devices)->xa_lock |
fs/btrfs/delayed-inode.c btrfs_get_or_create_delayed_node() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 2080 |
| DATA_SOURCE | 2 | entry | r kmem_cache_alloc_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &(&root->delayed_nodes)->xa_lock |
lib/xarray.c xa_store() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 3 | gfp | 0,2080,3072,3264,10240,19648,76992,4197568 |
| BUF_SIZE | 0 | xa | (-1),88 |
| BUF_SIZE | 0 | xa | (-1),88 |
| BUF_SIZE | 1 | index | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | entry | s32min-s32max |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| STR_LEN | 0 | xa | (-1),14 |
| STR_LEN | 0 | xa | (-1),14 |
| NOSPEC | 1 | index | |
| HARD_MAX | 3 | gfp | 4197568 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | xa->xa_flags | 0-u32max |
| HOST_DATA | 1 | index | 0[c] |
| USER_DATA | 1 | index | 0-u64max |
| UNITS | 2 | entry | unit_page |
| LOCK2 | 0 | &xa->xa_lock | |
| HALF_LOCKED2 | &(&imr->implicit_children)->xa_lock | ||
| HALF_LOCKED2 | &(&mas)->tree->ma_lock | ||
| HALF_LOCKED2 | &_dev->mutex | ||
| HALF_LOCKED2 | &conn->srv_mutex | ||
| HALF_LOCKED2 | &counter->lock | ||
| HALF_LOCKED2 | &ctx->ctrl_lock | ||
| HALF_LOCKED2 | &ctx->uring_lock | ||
| HALF_LOCKED2 | &cxlmd->dev.mutex | ||
| HALF_LOCKED2 | &delayed_refs->lock | ||
| HALF_LOCKED2 | &device->client_data_rwsem | ||
| HALF_LOCKED2 | &device->compat_devs_mutex | ||
| HALF_LOCKED2 | &dmirror->mutex | ||
| HALF_LOCKED2 | &dmn->info.rx.mutex | ||
| HALF_LOCKED2 | &dmn->info.tx.mutex | ||
| HALF_LOCKED2 | &esw->offloads.reps_lock | ||
| HALF_LOCKED2 | &esw->state_lock | ||
| HALF_LOCKED2 | &fpriv->proto_context_lock | ||
| HALF_LOCKED2 | &gc->gic_mutex | ||
| HALF_LOCKED2 | &gpu->sched_lock | ||
| HALF_LOCKED2 | &group->mutex | ||
| HALF_LOCKED2 | &guc->submission_state.lock | ||
| HALF_LOCKED2 | &ictx->ioas_creation_lock | ||
| HALF_LOCKED2 | &idev->igroup->lock | ||
| HALF_LOCKED2 | &igroup->lock | ||
| HALF_LOCKED2 | &ioas->mutex | ||
| HALF_LOCKED2 | &iopt->domains_rwsem | ||
| HALF_LOCKED2 | &iopt->iova_rwsem | ||
| HALF_LOCKED2 | &kvm->slots_lock | ||
| HALF_LOCKED2 | &mcam->lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &nic_dmn->mutex | ||
| HALF_LOCKED2 | &nn->client_lock | ||
| HALF_LOCKED2 | &node->qrtr_tx_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &priv->macsec->lock | ||
| HALF_LOCKED2 | &psd->lock | ||
| HALF_LOCKED2 | &sess->chann_lock | ||
| HALF_LOCKED2 | &sess->rpc_lock | ||
| HALF_LOCKED2 | &sess->tree_conns_lock | ||
| HALF_LOCKED2 | &table->comp_lock | ||
| HALF_LOCKED2 | &udev->cmdr_lock | ||
| HALF_LOCKED2 | &vepc->lock | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &bio_slab_lock | ||
| HALF_LOCKED2 | global &clients_rwsem | ||
| HALF_LOCKED2 | global &devices_rwsem | ||
| HALF_LOCKED2 | global &drm_unplug_srcu | ||
| HALF_LOCKED2 | global &pernet_ops_rwsem | ||
| HALF_LOCKED2 | global &psp_devs_lock | ||
| HALF_LOCKED2 | global &rdma_nets_rwsem | ||
| HALF_LOCKED2 | global &scan_mutex | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct xarray)->xa_lock |
mm/shmem.c shmem_split_large_entry() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 2 | entry | 1,3-u64max |
| PARAM_VALUE | 3 | gfp | 0 |
| CAPPED_DATA | 1 | index | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | index | 0-2251801961168893[c] |
| USER_DATA | 1 | index | 0-2251801961168893[c] |
| LOCK2 | &((&xas)->xa)->xa_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &inode->i_rwsem |
drivers/infiniband/hw/mlx5/srq_cmd.c xa_store_irq() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | index | 0-16777215 |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3264 |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | 0 | &xa->xa_lock | |
| HALF_LOCKED2 | &devr->srq_lock | ||
| HALF_LOCKED2 | global &device_list_mutex | ||
| TYPE_LOCK | (struct xarray)->xa_lock |
fs/btrfs/qgroup.c btrfs_qgroup_trace_extent_nolock() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 2080 |
| BUF_SIZE | 2 | entry | 0,32 |
| DATA_SOURCE | 2 | entry | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &(&delayed_refs->dirty_extents)->xa_lock | ||
| HALF_LOCKED2 | &delayed_refs->lock |
net/devlink/region.c __devlink_snapshot_id_decrement() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 2 | entry | 3-18446744073709551613 |
| PARAM_VALUE | 3 | gfp | 2080 |
| DATA_SOURCE | 1 | index | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &(&devlink->snapshot_ids)->xa_lock | ||
| HALF_LOCKED2 | ®ion->snapshot_lock |
net/devlink/region.c __devlink_snapshot_id_increment() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 2080 |
| DATA_SOURCE | 1 | index | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &(&devlink->snapshot_ids)->xa_lock | ||
| LOCK2 | ®ion->snapshot_lock | ||
| TYPE_LOCK | (struct devlink_region)->snapshot_lock |
net/devlink/region.c __devlink_snapshot_id_insert() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 2 | entry | 1 |
| PARAM_VALUE | 3 | gfp | 2080 |
| DATA_SOURCE | 1 | index | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &(&devlink->snapshot_ids)->xa_lock | ||
| LOCK2 | ®ion->snapshot_lock | ||
| HALF_LOCKED2 | &dev->lock | ||
| HALF_LOCKED2 | &devlink->lock | ||
| HALF_LOCKED2 | &net->xfrm.xfrm_cfg_mutex | ||
| HALF_LOCKED2 | global &audit_cmd_mutex.lock | ||
| HALF_LOCKED2 | global &cb_lock | ||
| HALF_LOCKED2 | global &crypto_cfg_mutex | ||
| HALF_LOCKED2 | global &dpll_lock | ||
| HALF_LOCKED2 | global &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &net_dm_mutex | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct devlink_region)->snapshot_lock |
drivers/infiniband/hw/hns/hns_roce_srq.c xa_store_irq() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | index | 0-s32max |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3264 |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | 0 | &xa->xa_lock | |
| HALF_LOCKED2 | &devr->srq_lock | ||
| HALF_LOCKED2 | global &device_list_mutex | ||
| TYPE_LOCK | (struct xarray)->xa_lock |
drivers/infiniband/hw/hns/hns_roce_cq.c xa_store_irq() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | index | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3264 |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | 0 | &xa->xa_lock | |
| TYPE_LOCK | (struct xarray)->xa_lock |
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c amdgpu_pasid_clear_owner() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 5251602491854135296 |
| PARAM_VALUE | 1 | index | 1-u32max |
| PARAM_VALUE | 2 | entry | 0 |
| PARAM_VALUE | 3 | gfp | 2080 |
| DATA_SOURCE | 1 | index | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &(&amdgpu_pasid_xa)->xa_lock |
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c set_ctx_id_mapping() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 1 | index | 0-u16max |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 2080 |
| BUF_SIZE | 2 | entry | (-1)-s32max |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_array_size |
| LOCK2 | &(&guc->context_lookup)->xa_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &sched_engine->lock | ||
| HALF_LOCKED2 | __flags | ||
| HALF_LOCKED2 | flags |
drivers/infiniband/hw/ionic/ionic_controlpath.c xa_store_irq() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3264 |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | 0 | &xa->xa_lock | |
| TYPE_LOCK | (struct xarray)->xa_lock |
lib/test_xarray.c check_split_1() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 5024146686711472128 |
| PARAM_VALUE | 0 | xa->xa_head | 0 |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 2 | entry | 1,3-u64max |
| PARAM_VALUE | 3 | gfp | 0 |
| CAPPED_DATA | 1 | index | 1 |
| DATA_SOURCE | 0 | xa | $0 |
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock |
lib/test_xarray.c check_split_2() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 5024146686711472128 |
| PARAM_VALUE | 0 | xa->xa_head | 0 |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 2 | entry | 1,3-u64max |
| PARAM_VALUE | 3 | gfp | 0 |
| CAPPED_DATA | 1 | index | 1 |
| DATA_SOURCE | 0 | xa | $0 |
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock |
drivers/infiniband/hw/hns/hns_roce_qp.c xa_store_irq() -> __xa_store()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xa | 4096-ptr_max |
| PARAM_VALUE | 0 | xa->xa_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | index | 1-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 2 | entry | 4096-ptr_max |
| PARAM_VALUE | 3 | gfp | 3264 |
| BUF_SIZE | 0 | xa | 88 |
| DATA_SOURCE | 0 | xa | $0 |
| DATA_SOURCE | 1 | index | $1 |
| DATA_SOURCE | 2 | entry | $2 |
| DATA_SOURCE | 3 | gfp | $3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq | ||
| LOCK2 | 0 | &xa->xa_lock | |
| TYPE_LOCK | (struct xarray)->xa_lock |