Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/md/dm-pcache/cache_req.c cache_write() -> cache_key_insert()

Type Parameter Key Value
PARAM_VALUE 0 cache_tree 4096-ptr_max
PARAM_VALUE 1 key 4096-ptr_max
PARAM_VALUE 1 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 1 key->cache_tree 4096-ptr_max
PARAM_VALUE 1 key->len 1-4194304
PARAM_VALUE 2 fixup 1
BUF_SIZE 1 key->cache_tree (-1),224
CAPPED_DATA 1 key->len 1
DATA_SOURCE 1 key r cache_key_alloc
NOSPEC 1 key->len
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 key->len 1-4194304[c]
HOST_DATA 1 key->off 4194304[c]
USER_DATA 1 key->len 1-4194304[c]
USER_DATA 1 key->off 4194304[c]
NO_OVERFLOW_SIMPLE 1 key->cache_tree->key_pool.min_nr
NO_OVERFLOW_SIMPLE 1 key->cache_tree->n_subtrees
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_req.c submit_cache_miss_req() -> cache_key_insert()

Type Parameter Key Value
PARAM_VALUE 0 cache_tree 4096-ptr_max
PARAM_VALUE 1 key 1-u64max
PARAM_VALUE 2 fixup 1
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_key.c fixup_overlap_contained() -> cache_key_insert()

Type Parameter Key Value
PARAM_VALUE 0 cache_tree 0,4096-ptr_max
PARAM_VALUE 1 key 4096-ptr_max
PARAM_VALUE 1 key->len 1-u32max
PARAM_VALUE 2 fixup 0
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 kset_replay() -> cache_key_insert()

Type Parameter Key Value
PARAM_VALUE 0 cache_tree 4096-ptr_max
PARAM_VALUE 0 cache_tree->cache 4096-ptr_max
PARAM_VALUE 0 cache_tree->key_pool.alloc 7276475779886346240
PARAM_VALUE 0 cache_tree->key_pool.elements 1-u64max
PARAM_VALUE 0 cache_tree->key_pool.free 8263660038527102976
PARAM_VALUE 0 cache_tree->key_pool.min_nr 1024
PARAM_VALUE 0 cache_tree->n_subtrees 0
PARAM_VALUE 0 cache_tree->subtrees 16,4096-ptr_max
PARAM_VALUE 1 key 4096-ptr_max
PARAM_VALUE 1 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 1 key->cache_tree 4096-ptr_max
PARAM_VALUE 1 key->len 1-u32max
PARAM_VALUE 1 key->list_node.next->next 4096-ptr_max
PARAM_VALUE 1 key->list_node.prev->next 4096-ptr_max
PARAM_VALUE 1 key->list_node.prev->prev 4096-ptr_max
PARAM_VALUE 2 fixup 1
BUF_SIZE 1 key->cache_tree (-1),224
CAPPED_DATA 1 key->cache_pos.cache_seg->gen 1
DATA_SOURCE 1 key r cache_key_alloc
PARAM_COMPARE 1 key->cache_pos.cache_seg->gen <= $1->seg_gen
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 cache_tree->key_pool.min_nr
NO_OVERFLOW_SIMPLE 0 cache_tree->n_subtrees
NO_OVERFLOW_SIMPLE 1 key->cache_tree->key_pool.min_nr
NO_OVERFLOW_SIMPLE 1 key->cache_tree->n_subtrees
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &md->type_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_writeback.c cache_kset_insert_tree() -> cache_key_insert()

Type Parameter Key Value
PARAM_VALUE 0 cache_tree 4096-ptr_max
PARAM_VALUE 1 key 4096-ptr_max
PARAM_VALUE 1 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 1 key->cache_tree 4096-ptr_max
PARAM_VALUE 1 key->len 1-u32max
PARAM_VALUE 2 fixup 1
BUF_SIZE 1 key->cache_tree (-1),224
DATA_SOURCE 1 key r cache_key_alloc
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 key->cache_tree->key_pool.min_nr
NO_OVERFLOW_SIMPLE 1 key->cache_tree->n_subtrees
LOCK2 &cache->writeback_lock
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->writeback_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock