Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 cache_seg 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier

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

Type Parameter Key Value
PARAM_VALUE 0 cache_seg 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 miss_read_end_req() -> cache_seg_put()

Type Parameter Key Value
PARAM_VALUE 0 cache_seg 4096-ptr_max
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_seg_put()

Type Parameter Key Value
PARAM_VALUE 0 cache_seg 4096-ptr_max
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_gc.c cache_key_gc() -> cache_seg_put()

Type Parameter Key Value
PARAM_VALUE 0 cache_seg 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock