Documented in 1 files:
Defined in 1 files as a function:
Referenced in 17 files:
- drivers/target/target_core_user.c, line 521
- fs/cachefiles/ondemand.c, line 431
- fs/dax.c
- fs/fs-writeback.c, line 443
- include/linux/pagemap.h, line 1531
- include/linux/xarray.h, line 1683
- lib/idr.c, line 471
- lib/test_xarray.c
- lib/xarray.c, line 1833
- mm/filemap.c, line 3259
- mm/khugepaged.c
- mm/list_lru.c, line 605
- mm/memfd.c, line 176
- mm/truncate.c, line 101
- tools/testing/radix-tree/iteration_check.c
- tools/testing/radix-tree/iteration_check_2.c, line 21
- tools/testing/radix-tree/multiorder.c
Smatch caller information:
lib/idr.c ida_alloc_range() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4096-ptr_max |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,3-ptr_max,(-1) |
| PARAM_VALUE | 1 | index | 0-2097151 |
| CAPPED_DATA | 1 | index | 1 |
| NOCHECK_CALL |
fs/dax.c dax_lock_folio() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4096-ptr_max |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,3,4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_page |
| LOCK2 | &((&xas)->xa)->xa_lock | ||
| LOCK2 | global &mf_mutex | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &attr->mutex | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &pool->lock |
fs/dax.c dax_lock_mapping_entry() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4096-ptr_max |
| PARAM_VALUE | 0 | xas->xa_index | 0-18446744073709551614 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,3,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0-18446744073709551614 |
| CAPPED_DATA | 1 | index | 1 |
| CAPPED_DATA | 1 | index | 1 |
| DATA_SOURCE | 1 | index | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read |
fs/dax.c grab_mapping_entry() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 538607196269289472,2804297901316567040 |
| DATA_SOURCE | 0 | xas | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | xas->xa_offset | 0-255 |
| USER_DATA | 1 | index | 0-4503599627370495 |
| LOCK2 | &(xas->xa)->xa_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock |
lib/xarray.c xas_set_range() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4096-ptr_max |
| PARAM_VALUE | 0 | xas->xa_node | 0-ptr_max,(-1) |
| CAPPED_DATA | 1 | index | 1 |
| CAPPED_DATA | 1 | index | 1 |
| DATA_SOURCE | 0 | xas | $0 |
| DATA_SOURCE | 1 | index | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | xas->xa_index | 0-u64max[c] |
| HOST_DATA | 0 | xas->xa_offset | 0-15[c] |
| HOST_DATA | 0 | xas->xa_sibs | 0-15,255[c] |
| HOST_DATA | 1 | index | 0-u64max[c] |
| USER_DATA | 0 | xas->xa_index | 0-524287[c] |
| USER_DATA | 0 | xas->xa_offset | 0-255 |
| USER_DATA | 0 | xas->xa_sibs | 0-255 |
| USER_DATA | 1 | index | 0-524287[c] |
| LOCK2 | &((&xas)->xa)->xa_lock | ||
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | _T->lock |
fs/fs-writeback.c inode_do_switch_wbs() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 3890751431287599104 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,3,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &(&mapping->i_pages)->xa_lock | ||
| LOCK2 | &bdi->wb_switch_rwsem | ||
| LOCK2 | &inode->i_lock | ||
| LOCK2 | &new_wb->list_lock | ||
| LOCK2 | &old_wb->list_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct backing_dev_info)->wb_switch_rwsem | ||
| TYPE_LOCK | (struct bdi_writeback)->list_lock | ||
| TYPE_LOCK | (struct inode)->i_lock |
mm/filemap.c mapping_seek_hole_data() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 3296202185961701376 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,3,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0-2251799813685247,18444492273895866368-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | xas->xa_index | 0-2251799813685247 |
| UNITS | 1 | index | unit_page |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &inode->i_rwsem |
fs/netfs/rolling_buffer.c __readahead_batch() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 2495289758785691648 |
| PARAM_VALUE | 0 | xas->xa_index | 0 |
| PARAM_VALUE | 0 | xas->xa_node | 3 |
| NOSPEC | 1 | index | |
| NOSPEC | 1 | index | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | index | 0-u64max[c] |
| UNITS | 1 | index | unit_page |
| HALF_LOCKED2 | &inode->i_rwsem |
mm/list_lru.c __memcg_list_lru_alloc() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 5896713352104103936 |
| PARAM_VALUE | 1 | index | 0-s32max,18446744071562067968-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/target/target_core_user.c tcmu_get_empty_block() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 6707430232214507520 |
| PARAM_VALUE | 0 | xas->xa_index | 0 |
| PARAM_VALUE | 0 | xas->xa_node | 3 |
| PARAM_VALUE | 1 | index | 0-s32max,18446744071562067968-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &udev->cmdr_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct tcmu_dev)->cmdr_lock |
fs/squashfs/file.c __readahead_batch() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 2437667243596259328 |
| PARAM_VALUE | 0 | xas->xa_index | 0 |
| PARAM_VALUE | 0 | xas->xa_node | 3 |
| NOSPEC | 1 | index | |
| NOSPEC | 1 | index | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | index | 0-u64max[c] |
| UNITS | 1 | index | unit_page |
| HALF_LOCKED2 | &mapping->invalidate_lock |
mm/truncate.c truncate_folio_batch_exceptionals() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 911210268430299136 |
| PARAM_VALUE | 0 | xas->xa_node | 3 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &inode_out->i_rwsem | ||
| HALF_LOCKED2 | &journal->j_checkpoint_mutex | ||
| HALF_LOCKED2 | &mapping->host->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &sbi->cp_global_sem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem |
lib/test_xarray.c check_find_3() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 5865983974702039040 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,3,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0-99 |
| FUZZY_MAX | 1 | index | 99 |
| NOCHECK_CALL | |||
| LOCK2 | rcu_read |
lib/test_xarray.c check_move_max() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 738054215773315072 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0 |
| NOCHECK_CALL |
lib/test_xarray.c check_move_small() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 874496022831509504 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-18446744073709551614 |
| PARAM_VALUE | 1 | index | u64max |
| NOCHECK_CALL | |||
| LOCK2 | rcu_read |
lib/test_xarray.c check_move_tiny() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 2772266472234622976 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-18446744073709551614 |
| PARAM_VALUE | 1 | index | 0 |
| NOCHECK_CALL | |||
| LOCK2 | rcu_read |
lib/test_xarray.c check_move_tiny() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 2772266472234622976 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-18446744073709551614 |
| PARAM_VALUE | 1 | index | 0 |
| NOCHECK_CALL | |||
| LOCK2 | rcu_read |
lib/test_xarray.c check_multi_store_3() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4096-ptr_max |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock |
lib/test_xarray.c check_pause() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4768315614399623168 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0 |
| NOCHECK_CALL |
lib/test_xarray.c check_pause() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4768315614399623168 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0 |
| NOCHECK_CALL |
lib/test_xarray.c check_pause() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4768315614399623168 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PARAM_VALUE | 1 | index | 1 |
| NOCHECK_CALL |
lib/test_xarray.c check_xa_mark_1() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 813132458815668224 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0 |
| NOCHECK_CALL |
lib/test_xarray.c check_xas_erase() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 2476226735273304064 |
| PARAM_VALUE | 1 | index | 0-414 |
| CAPPED_DATA | 1 | index | 1 |
| CAPPED_DATA | 1 | index | 1 |
| FUZZY_MAX | 1 | index | 414 |
| HARD_MAX | 1 | index | 414 |
| NOCHECK_CALL |
lib/test_xarray.c check_xas_erase() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 2476226735273304064 |
| PARAM_VALUE | 1 | index | u64max |
| NOCHECK_CALL |
lib/test_xarray.c check_xas_erase() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 2476226735273304064 |
| PARAM_VALUE | 1 | index | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock |
lib/test_xarray.c check_xas_retry() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4579784603435020288 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock |
lib/test_xarray.c check_xas_retry() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4579784603435020288 |
| PARAM_VALUE | 1 | index | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock |
lib/test_xarray.c check_xas_retry() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4579784603435020288 |
| PARAM_VALUE | 1 | index | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &((&xas)->xa)->xa_lock |
mm/khugepaged.c collapse_file() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4184487716943413248 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0-18446744073709551614 |
| CAPPED_DATA | 1 | index | 1 |
| CAPPED_DATA | 1 | index | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_page |
| LOCK2 | &((&xas)->xa)->xa_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/khugepaged.c collapse_file() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4184487716943413248 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,4096-ptr_max |
| DATA_SOURCE | 1 | index | $3 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_page |
| 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_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4184487716943413248 |
| DATA_SOURCE | 1 | index | $3 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | index | unit_page |
| LOCK2 | &((&xas)->xa)->xa_lock | ||
| LOCK2 | irq | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memfd.c memfd_wait_for_pins() -> xas_set()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xas | 4654190353756758016 |
| PARAM_VALUE | 0 | xas->xa_node | 0-1,3,4096-ptr_max |
| PARAM_VALUE | 1 | index | 0 |
| NOCHECK_CALL | |||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &session->mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |