Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src->cache_seg 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cache_subtree->tree_lock

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

Type Parameter Key Value
PARAM_VALUE 0 dst 2505119098948116480
PARAM_VALUE 1 src 4096-ptr_max
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_copy()

Type Parameter Key Value
PARAM_VALUE 0 dst 7121733495002456064
PARAM_VALUE 1 src 4096-ptr_max
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_key_copy() -> cache_pos_copy()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
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_replay() -> cache_pos_copy()

Type Parameter Key Value
PARAM_VALUE 0 dst 6157038726018416640
PARAM_VALUE 1 src 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &md->type_lock

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

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->cache_seg 4096-ptr_max
PARAM_VALUE 0 dst->seg_off 0
PARAM_VALUE 1 src 6157038726018416640
PARAM_VALUE 1 src->cache_seg 4096-ptr_max
BUF_SIZE 1 src 16
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &cache->key_head_lock
HALF_LOCKED2 &md->type_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock

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

Type Parameter Key Value
PARAM_VALUE 0 dst 5349008258904653824
PARAM_VALUE 1 src 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_writeback.c cache_writeback_fn() -> cache_pos_copy()

Type Parameter Key Value
PARAM_VALUE 0 dst 4847649631839784960
PARAM_VALUE 1 src 4096-ptr_max
NOCHECK_CALL
LOCK2 &cache->dirty_tail_lock
LOCK2 &cache->writeback_lock
HALF_LOCKED2 &pool->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_copy()

Type Parameter Key Value
PARAM_VALUE 0 dst 269650705525288960
PARAM_VALUE 1 src 4096-ptr_max
NOCHECK_CALL
LOCK2 &cache->dirty_tail_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->dirty_tail_lock

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

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

drivers/md/dm-pcache/cache.c cache_tail_init() -> cache_pos_copy()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 src->cache_seg 4096-ptr_max
PARAM_VALUE 1 src->seg_off 0
NOCHECK_CALL

drivers/md/dm-pcache/cache.c cache_tail_init() -> cache_pos_copy()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 src->cache_seg 4096-ptr_max
PARAM_VALUE 1 src->seg_off 0
NOCHECK_CALL