Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/md/dm-pcache/cache_req.c cache_data_alloc() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
PARAM_VALUE 1 len 0-4294967294
BUF_SIZE 0 pos 16
CAPPED_DATA 1 len 1
NOSPEC 1 len
NOSPEC 1 len
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 len 1-4194304[c]
USER_DATA 1 len 1-4194304[c]
UNITS 1 len unit_byte
HALF_LOCKED2 &cache_subtree->tree_lock

drivers/md/dm-pcache/cache_req.c cache_data_alloc() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
PARAM_VALUE 1 len 1-u32max
BUF_SIZE 0 pos 16
CAPPED_DATA 1 len 1
DATA_SOURCE 1 len r cache_seg_remain
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
HALF_LOCKED2 &cache_subtree->tree_lock

drivers/md/dm-pcache/cache_req.c cache_key_cutfront() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PARAM_VALUE 0 pos->cache_seg 1-u64max
DATA_SOURCE 1 len $1
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_req.c read_overlap_contained() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 2505119098948116480
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_req.c read_overlap_head() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 7121733495002456064
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_key.c append_last_kset() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
PARAM_VALUE 1 len 24
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
LOCK2 &cache->key_head_lock
LOCK2 &kset->kset_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock
TYPE_LOCK (struct pcache_cache_kset)->kset_lock

drivers/md/dm-pcache/cache_key.c cache_key_cutfront() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PARAM_VALUE 0 pos->cache_seg 1-u64max
DATA_SOURCE 1 len $1
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_key.c cache_kset_close() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
DATA_SOURCE 1 len r size_add
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 len unit_byte
LOCK2 &cache->key_head_lock
LOCK2 &kset->kset_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock
TYPE_LOCK (struct pcache_cache_kset)->kset_lock

drivers/md/dm-pcache/cache_key.c cache_replay() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 6157038726018416640
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
BUF_SIZE 0 pos 16
NOCHECK_CALL
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_key.c cache_verify_dirty_tail() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 5349008258904653824
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_writeback.c writeback_ctx_end() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache->dirty_tail_lock
LOCK2 &cache->writeback_lock
TYPE_LOCK (struct pcache_cache)->dirty_tail_lock
TYPE_LOCK (struct pcache_cache)->writeback_lock

drivers/md/dm-pcache/cache_gc.c pcache_cache_gc_fn() -> cache_pos_advance()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
NOCHECK_CALL
LOCK2 &cache->key_tail_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->key_tail_lock