Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/md/dm-thin-metadata.c __destroy_persistent_data_objects() -> dm_tm_destroy()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pmd->root_lock
HALF_LOCKED2 global &dm_thin_pool_table.mutex

drivers/md/dm-thin-metadata.c __destroy_persistent_data_objects() -> dm_tm_destroy()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pmd->root_lock
HALF_LOCKED2 global &dm_thin_pool_table.mutex

drivers/md/dm-thin-metadata.c __format_metadata() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max
PARAM_VALUE 0 tm->is_clone 1
PARAM_VALUE 0 tm->real 4096-ptr_max,(-12)
BUF_SIZE 0 tm 3328
BUF_SIZE 0 tm 3328
DATA_SOURCE 0 tm r dm_tm_create_non_blocking_clone
NOCHECK_CALL
LOCK2 global &dm_thin_pool_table.mutex
HALF_LOCKED2 &md->type_lock
TYPE_LOCK (struct dm_thin_pool_table)->mutex

drivers/md/dm-thin-metadata.c __format_metadata() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max,(-12)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 tm->is_clone 0
PARAM_VALUE 0 tm->prefetches->blocks (-1)
PARAM_VALUE 0 tm->prefetches.lock.dep_map->name 0-255
PARAM_VALUE 0 tm->prefetches.lock.owner.counter 0
NOCHECK_CALL
LOCK2 global &dm_thin_pool_table.mutex
HALF_LOCKED2 &md->type_lock
TYPE_LOCK (struct dm_thin_pool_table)->mutex

drivers/md/dm-thin-metadata.c __open_metadata() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max,(-12)
PARAM_VALUE 0 tm->is_clone 0
PARAM_VALUE 0 tm->prefetches->blocks (-1)
PARAM_VALUE 0 tm->prefetches.lock.dep_map->name 0-255
PARAM_VALUE 0 tm->prefetches.lock.owner.counter 0
NOCHECK_CALL
HALF_LOCKED2 &pmd->root_lock
HALF_LOCKED2 global &dm_thin_pool_table.mutex

drivers/md/dm-era-target.c create_fresh_metadata() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max,(-12)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 tm->is_clone 0
PARAM_VALUE 0 tm->prefetches->blocks (-1)
PARAM_VALUE 0 tm->prefetches.lock.dep_map->name 0-255
PARAM_VALUE 0 tm->prefetches.lock.owner.counter 0
NOCHECK_CALL
HALF_LOCKED2 &md->type_lock

drivers/md/dm-era-target.c destroy_persistent_data_objects() -> dm_tm_destroy()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/dm-era-target.c format_metadata() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max,(-12)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 tm->is_clone 0
PARAM_VALUE 0 tm->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tm->prefetches->blocks (-1)
PARAM_VALUE 0 tm->prefetches.lock.dep_map->name 0-255
PARAM_VALUE 0 tm->prefetches.lock.owner.counter 0
CAPPED_DATA 0 tm 1
NOCHECK_CALL
HALF_LOCKED2 &md->type_lock

drivers/md/persistent-data/dm-transaction-manager.c dm_tm_create_internal() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max
PARAM_VALUE 0 tm->bm 4096-ptr_max
PARAM_VALUE 0 tm->is_clone 0
PARAM_VALUE 0 tm->prefetches.lock.magic 4096-ptr_max
PARAM_VALUE 0 tm->real 0
PARAM_VALUE 0 tm->sm 4096-ptr_max
DATA_SOURCE 0 tm r dm_tm_create
PREEMPT_ADD
NOCHECK_CALL

drivers/md/dm-cache-metadata.c __destroy_persistent_data_objects() -> dm_tm_destroy()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &cmd->root_lock

drivers/md/dm-cache-metadata.c __format_metadata() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 tm->is_clone s32min-s32max
PARAM_VALUE 0 tm->prefetches->blocks (-1)
PARAM_VALUE 0 tm->prefetches.lock.dep_map->name 0-255
PARAM_VALUE 0 tm->prefetches.lock.owner.counter 0
NOCHECK_CALL
HALF_LOCKED2 &md->type_lock

drivers/md/dm-clone-metadata.c __destroy_persistent_data_structures() -> dm_tm_destroy()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &clone->commit_lock
HALF_LOCKED2 &cmd->lock

drivers/md/dm-clone-metadata.c __format_metadata() -> dm_tm_destroy()

Type Parameter Key Value
PARAM_VALUE 0 tm 4096-ptr_max
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tm->bm->bufio->lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 tm->is_clone s32min-s32max
PARAM_VALUE 0 tm->prefetches->blocks (-1)
PARAM_VALUE 0 tm->prefetches.lock.dep_map->name 0-255
PARAM_VALUE 0 tm->prefetches.lock.owner.counter 0
NOCHECK_CALL
HALF_LOCKED2 &clone->commit_lock
HALF_LOCKED2 &cmd->lock