Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/nvme/target/core.c nvmet_alloc_ctrl() -> nvmet_subsys_put()

Type Parameter Key Value
PARAM_VALUE 0 subsys 4096-ptr_max
PARAM_VALUE 0 subsys->lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 subsys->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 subsys->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->passthru_ctrl 0
PARAM_VALUE 0 subsys->ref.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &subsys->lock 1
DATA_SOURCE 0 subsys r nvmet_find_get_subsys
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &epf->lock

drivers/nvme/target/core.c nvmet_ctrl_find_get() -> nvmet_subsys_put()

Type Parameter Key Value
PARAM_VALUE 0 subsys 4096-ptr_max
PARAM_VALUE 0 subsys->lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 subsys->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 subsys->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->ref.refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &subsys->ctrls 1
CAPPED_DATA 0 &subsys->lock 1
DATA_SOURCE 0 subsys r nvmet_find_get_subsys
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/nvme/target/core.c nvmet_ctrl_free() -> nvmet_subsys_put()

Type Parameter Key Value
PARAM_VALUE 0 subsys 4096-ptr_max
PARAM_VALUE 0 subsys->lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 subsys->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 subsys->lock.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &subsys->lock 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &epf->lock

drivers/nvme/target/discovery.c nvmet_exit_discovery() -> nvmet_subsys_put()

Type Parameter Key Value
NOCHECK_CALL

drivers/nvme/target/configfs.c nvmet_subsys_release() -> nvmet_subsys_put()

Type Parameter Key Value
PARAM_VALUE 0 subsys 4096-ptr_max
PARAM_VALUE 0 subsys->lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 subsys->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 subsys->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 subsys->lock.osq.tail.counter 0-s32max
DATA_SOURCE 0 subsys r to_subsys
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dentry->d_inode->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &hba->hba_access_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &opts->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &subsys->su_mutex
HALF_LOCKED2 &target->i_rwsem
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &dynamic_netconsole_mutex
HALF_LOCKED2 global &func_lock
HALF_LOCKED2 global &target_cleanup_list_lock
HALF_LOCKED2 global &target_list_lock
HALF_LOCKED2 su_mutex