Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/persistent-data/dm-array.c array_set_value() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0-4294967294
CAPPED_DATA 0 info->btree_info.levels 1
CAPPED_DATA 0 info->value_type.size 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
PARAM_COMPARE 1 ab->nr_entries > $2
PARAM_COMPARE 2 index < $1->nr_entries
PREEMPT_ADD
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 &pool->lock

drivers/md/persistent-data/dm-array.c dm_array_cursor_get_value() -> element_at()

Type Parameter Key Value
HALF_LOCKED2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock

drivers/md/persistent-data/dm-array.c dm_array_get_value() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 0 info->value_type.size 0-u32max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0-4294967294
CAPPED_DATA 0 info->btree_info.levels 1
CAPPED_DATA 0 info->value_type.size 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
PARAM_COMPARE 1 ab->nr_entries > $2
PARAM_COMPARE 2 index < $1->nr_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->real->bm->bufio->slab_buffer->object_size
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock

drivers/md/persistent-data/dm-array.c dm_array_get_value() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 0 info->value_type.size 0-u32max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0-4294967294
CAPPED_DATA 0 info->btree_info.levels 1
CAPPED_DATA 0 info->value_type.size 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
PARAM_COMPARE 1 ab->nr_entries > $2
PARAM_COMPARE 2 index < $1->nr_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->real->bm->bufio->slab_buffer->object_size
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock

drivers/md/persistent-data/dm-array.c dm_array_get_value() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 0 info->value_type.size 0-u32max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0-4294967294
CAPPED_DATA 0 info->btree_info.levels 1
CAPPED_DATA 0 info->value_type.size 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
PARAM_COMPARE 1 ab->nr_entries > $2
PARAM_COMPARE 2 index < $1->nr_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->real->bm->bufio->slab_buffer->object_size
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock

drivers/md/persistent-data/dm-array.c fill_ablock() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0-4294967294
CAPPED_DATA 1 ab->nr_entries 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
DATA_SOURCE 1 ab $1
PARAM_COMPARE 1 ab->max_entries > $2
PARAM_COMPARE 1 ab->max_entries >= $1->nr_entries
PARAM_COMPARE 2 index < $1->max_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size

drivers/md/persistent-data/dm-array.c fill_ablock() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0-4294967294
CAPPED_DATA 1 ab->nr_entries 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
DATA_SOURCE 1 ab $1
PARAM_COMPARE 1 ab->max_entries > $2
PARAM_COMPARE 1 ab->max_entries >= $1->nr_entries
PARAM_COMPARE 2 index < $1->max_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size

drivers/md/persistent-data/dm-array.c fill_ablock() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0-4294967294
CAPPED_DATA 1 ab->nr_entries 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
DATA_SOURCE 1 ab $1
PARAM_COMPARE 1 ab->max_entries > $2
PARAM_COMPARE 1 ab->max_entries >= $1->nr_entries
PARAM_COMPARE 2 index < $1->max_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size

drivers/md/persistent-data/dm-array.c on_entries() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
PARAM_VALUE 2 index 0
BUF_SIZE 0 info (-1),56,112
BUF_SIZE 0 info (-1),56,112
CAPPED_DATA 0 info->value_type.size 1
DATA_SOURCE 0 info $0
DATA_SOURCE 1 ab $1

drivers/md/persistent-data/dm-array.c populate_ablock_with_values() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
DATA_SOURCE 1 ab $1
PARAM_COMPARE 1 ab->max_entries > $2
PARAM_COMPARE 2 index < $1->max_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size
LOCK2 &cache->background_work_lock
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/persistent-data/dm-array.c populate_ablock_with_values() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
DATA_SOURCE 1 ab $1
PARAM_COMPARE 1 ab->max_entries > $2
PARAM_COMPARE 2 index < $1->max_entries
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->bm->bufio->slab_buffer->object_size
LOCK2 &cache->background_work_lock
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/persistent-data/dm-array.c trim_ablock() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
CAPPED_DATA 0 info->btree_info.levels 1
CAPPED_DATA 0 info->value_type.size 1
CAPPED_DATA 2 index 1
DATA_SOURCE 0 info $0
DATA_SOURCE 1 ab $1

drivers/md/persistent-data/dm-array.c walk_ablock() -> element_at()

Type Parameter Key Value
PARAM_VALUE 0 info 4096-ptr_max
PARAM_VALUE 1 ab 4096-ptr_max
CAPPED_DATA 0 info->value_type.size 1
CAPPED_DATA 2 index 1
NO_OVERFLOW_SIMPLE 0 info->btree_info.tm->real->bm->bufio->slab_cache->object_size