Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

lib/maple_tree.c cp_data_write() -> ma_slots()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c cp_dst_to_slots() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 1 mt 0-1
HARD_MAX 1 mt 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c dst_setup() -> ma_slots()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_adopt_children() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mte_to_node
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_anode_descend() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 1-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(&mas)->tree->ma_lock
HALF_LOCKED2 &mt->ma_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 rcu_read

lib/maple_tree.c mas_descend() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mas_dup_alloc() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mte_to_node
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(&mas)->tree->ma_lock
HALF_LOCKED2 &(&new_mas)->tree->ma_lock

lib/maple_tree.c mas_dup_alloc() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mte_to_node
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(&mas)->tree->ma_lock
HALF_LOCKED2 &(&new_mas)->tree->ma_lock

lib/maple_tree.c mas_dup_free() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mte_to_node
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(&new_mas)->tree->ma_lock

lib/maple_tree.c mas_find_child() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_get_slot() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
BIT_INFO 1 mt 0x0,0xf
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

lib/maple_tree.c mas_leaf_max_gap() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_new_root() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 1 mt 1
DATA_SOURCE 0 mn r mas_pop_node
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_next_node() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 4096-ptr_max
PARAM_VALUE 1 mt 0-15
CAPPED_DATA 0 mn 1
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mas_next_node() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mas_next_slot() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

lib/maple_tree.c mas_prev_node() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
CAPPED_DATA 0 mn 1
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mas_prev_node() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
CAPPED_DATA 0 mn 1
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mas_prev_slot() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mas_put_in_tree() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0,2-3
BIT_INFO 1 mt 0x0,0x3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_rev_awalk() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 1-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(&mas)->tree->ma_lock
HALF_LOCKED2 &mt->ma_lock
HALF_LOCKED2 rcu_read

lib/maple_tree.c mas_root_expand() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 1 mt 1
DATA_SOURCE 0 mn r mas_pop_node
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_validate_child_slot() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

lib/maple_tree.c mas_validate_limits() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

lib/maple_tree.c mas_validate_parent_slot() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0,2-3
DATA_SOURCE 0 mn r mte_parent
DATA_SOURCE 1 mt r mas_parent_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

lib/maple_tree.c mas_wr_node_store() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 4096-ptr_max
PARAM_VALUE 1 mt 0-15
BUF_SIZE 0 mn (-1)-0,256
BUF_SIZE 0 mn (-1)-0,256
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mas_wr_walk_descend() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mt_destroy_walk() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c mt_free_walk() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

lib/maple_tree.c mt_free_walk() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 4096-ptr_max
CAPPED_DATA 0 mn 1
DATA_SOURCE 0 mn r mte_to_node
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 mn->slot_len
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

lib/maple_tree.c mt_validate_nulls() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
BIT_INFO 1 mt 0x0,0xf
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

lib/maple_tree.c mt_validate_nulls() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
BIT_INFO 1 mt 0x0,0xf
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

lib/maple_tree.c mte_dead_walk() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 4096-ptr_max
DATA_SOURCE 0 mn r mte_to_node
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

lib/maple_tree.c mte_destroy_descend() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mte_to_node
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c mtree_lookup_walk() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mte_to_node
DATA_SOURCE 1 mt r mte_node_type
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &(&ictx->mt_mmap)->ma_lock
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &iommu->lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->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

lib/maple_tree.c mtree_range_walk() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mte_to_node
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

lib/maple_tree.c node_copy() -> ma_slots()

Type Parameter Key Value
DATA_SOURCE 0 mn $6
DATA_SOURCE 1 mt $8
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c node_copy() -> ma_slots()

Type Parameter Key Value
DATA_SOURCE 0 mn $1
DATA_SOURCE 1 mt $5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c node_finalise() -> ma_slots()

Type Parameter Key Value
DATA_SOURCE 0 mn $0
DATA_SOURCE 1 mt $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c node_finalise() -> ma_slots()

Type Parameter Key Value
DATA_SOURCE 0 mn $0
DATA_SOURCE 1 mt $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c node_finalise() -> ma_slots()

Type Parameter Key Value
DATA_SOURCE 0 mn $0
DATA_SOURCE 1 mt $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock

lib/maple_tree.c wr_mas_setup() -> ma_slots()

Type Parameter Key Value
PARAM_VALUE 0 mn 0,256-u64max
PARAM_VALUE 1 mt 0-15
DATA_SOURCE 0 mn r mas_mn
DATA_SOURCE 1 mt r mte_node_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mt->ma_lock