Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/md/dm-pcache/cache_req.c cache_read() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_subtree->root.rb_node 4096-ptr_max
PARAM_VALUE 0 key->list_node.next->prev 4096-ptr_max
PARAM_VALUE 0 key->list_node.prev->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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 cache_write() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg->cache->seg_map_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->cache_subtree 4096-ptr_max
PARAM_VALUE 0 key->cache_tree 4096-ptr_max
PARAM_VALUE 0 key->len 1-4194304
PARAM_VALUE 0 key->rb_node.__rb_parent_color 1
PARAM_VALUE 0 key->rb_node.rb_left 4096-ptr_max
PARAM_VALUE 0 key->rb_node.rb_right 4096-ptr_max
BUF_SIZE 0 key->cache_tree (-1),224
CAPPED_DATA 0 key->len 1
DATA_SOURCE 0 key r cache_key_alloc
NOSPEC 0 key->len
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 key->len 1-4194304[c]
USER_DATA 0 key->len 1-4194304[c]
NO_OVERFLOW_SIMPLE 0 key->cache_tree->key_pool.min_nr
NO_OVERFLOW_SIMPLE 0 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 miss_read_end_req() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_subtree 4096-ptr_max
PARAM_VALUE 0 key->cache_subtree->tree_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg 1-u64max
PARAM_VALUE 0 key->cache_subtree 4096-ptr_max
PARAM_VALUE 0 key->cache_subtree->tree_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg->cache->seg_map_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->cache_subtree 4096-ptr_max
PARAM_VALUE 0 key->cache_subtree->tree_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg->cache->seg_map_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->cache_subtree 4096-ptr_max
PARAM_VALUE 0 key->cache_subtree->tree_lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 key->len 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_req.c read_overlap_contain() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg->gen 1-u64max
PARAM_VALUE 0 key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->off 0-18446744073709551614
PARAM_VALUE 0 key->seg_gen 0-18446744073709551614
CAPPED_DATA 0 key->cache_pos.cache_seg->gen 1
CAPPED_DATA 0 key->seg_gen 1
DATA_SOURCE 0 key $1
PARAM_COMPARE 0 key->cache_pos.cache_seg->gen > $0->seg_gen
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_contained() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->off 0-18446744073709551614
PARAM_VALUE 0 key->seg_gen 0-18446744073709551614
CAPPED_DATA 0 key->seg_gen 1
DATA_SOURCE 0 key $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_req.c read_overlap_head() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->off 0-18446744073709551614
PARAM_VALUE 0 key->seg_gen 0-18446744073709551614
CAPPED_DATA 0 key->seg_gen 1
DATA_SOURCE 0 key $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_req.c read_overlap_tail() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg->gen 1-u64max
PARAM_VALUE 0 key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 key->off 0-18446744073709551614
PARAM_VALUE 0 key->seg_gen 0-18446744073709551614
CAPPED_DATA 0 key->cache_pos.cache_seg->gen 1
CAPPED_DATA 0 key->seg_gen 1
DATA_SOURCE 0 key $1
PARAM_COMPARE 0 key->cache_pos.cache_seg->gen > $0->seg_gen
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_insert() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_subtree->root.rb_node 4096-ptr_max
PARAM_VALUE 0 key->list_node.next->prev 4096-ptr_max
PARAM_VALUE 0 key->list_node.prev->next 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &cache->writeback_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_key.c cache_tree_clear() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 key unit_byte
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &cache->writeback_lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_key.c clean_fn() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->cache_pos.cache_seg->gen 1-u64max
PARAM_VALUE 0 key->seg_gen 0-18446744073709551614
CAPPED_DATA 0 key->cache_pos.cache_seg->gen 1
CAPPED_DATA 0 key->seg_gen 1
PARAM_COMPARE 0 key->cache_pos.cache_seg->gen > $0->seg_gen
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 key unit_byte
LOCK2 &cache_subtree->tree_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache_subtree)->tree_lock

drivers/md/dm-pcache/cache_key.c fixup_overlap_contain() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->off 0-18446744073709551614
DATA_SOURCE 0 key $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 fixup_overlap_contained() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->len 0
PARAM_VALUE 0 key->off 0-18446744073709551614
DATA_SOURCE 0 key $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 fixup_overlap_contained() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->len 0
PARAM_VALUE 0 key->off 0-18446744073709551614
DATA_SOURCE 0 key $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 fixup_overlap_head() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->len 0
PARAM_VALUE 0 key->off 0-18446744073709551614
DATA_SOURCE 0 key $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 fixup_overlap_tail() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->off 0-18446744073709551614
DATA_SOURCE 0 key $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 fixup_overlap_tail() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
PARAM_VALUE 0 key->len 0
DATA_SOURCE 0 key $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_writeback.c cache_wb_tree_writeback() -> cache_key_delete()

Type Parameter Key Value
PARAM_VALUE 0 key 4096-ptr_max
NOCHECK_CALL
UNITS 0 key unit_byte
LOCK2 &cache->writeback_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->writeback_lock