Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/nvme/target/discovery.c nvmet_referral_disable() -> nvmet_port_disc_changed()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 1 subsys 0
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &nvmet_config_sem
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &subsys->su_mutex

drivers/nvme/target/discovery.c nvmet_referral_enable() -> nvmet_port_disc_changed()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->referrals.prev 4096-ptr_max
PARAM_VALUE 0 port->referrals.prev->next 4096-ptr_max
PARAM_VALUE 0 port->referrals.prev->next->next 4096-ptr_max
PARAM_VALUE 1 subsys 0
DATA_SOURCE 0 port $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
LOCK2 global &nvmet_config_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/nvme/target/configfs.c nvmet_port_subsys_allow_link() -> nvmet_port_disc_changed()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 0 port->subsystems.prev 4096-ptr_max
PARAM_VALUE 0 port->subsystems.prev->next 4096-ptr_max
PARAM_VALUE 0 port->subsystems.prev->next->next 4096-ptr_max
PARAM_VALUE 0 port->tr_ops->add_port 0,356005027391569920,2756795675082964992,6131046472731693056,8447161825212018688,9193204452182413312
PARAM_VALUE 0 port->tr_ops->create_cq 0,7671863581302841344
PARAM_VALUE 0 port->tr_ops->create_sq 0,826737582494945280
PARAM_VALUE 0 port->tr_ops->delete_cq 0,3247279592098840576
PARAM_VALUE 0 port->tr_ops->delete_ctrl 0,4635914789364793344,5518681643582025728,6323258353186226176,6803246519075205120
PARAM_VALUE 0 port->tr_ops->delete_sq 0,1692952852207517696
PARAM_VALUE 0 port->tr_ops->disc_traddr 0,4842197189540585472,7976362722472898560
PARAM_VALUE 0 port->tr_ops->discovery_chg 0,4840688172820557824
PARAM_VALUE 0 port->tr_ops->flags 0,3
PARAM_VALUE 0 port->tr_ops->get_feature 0,4172988708510289920
PARAM_VALUE 0 port->tr_ops->get_max_queue_size 0,3598994287643836416
PARAM_VALUE 0 port->tr_ops->get_mdts 0,1240729637649383424,6215693805987676160
PARAM_VALUE 0 port->tr_ops->host_traddr 0,143851659462438912,2625472028080357376,3281768194697232384
PARAM_VALUE 0 port->tr_ops->install_queue 0,7656632576492318720
PARAM_VALUE 0 port->tr_ops->msdbd 0-1
PARAM_VALUE 0 port->tr_ops->owner 0,4096-ptr_max
PARAM_VALUE 0 port->tr_ops->queue_response 0,673261683347714048,1727589018327519232,4231234284187914240,6960797624507817984,8058313105858142208
PARAM_VALUE 0 port->tr_ops->remove_port 0,1246405418997637120,1696684843887783936,4046473487155494912,5780625152656261120,8354855610354040832
PARAM_VALUE 0 port->tr_ops->set_feature 0,6816270163718651904
PARAM_VALUE 0 port->tr_ops->type 0-3,254
PARAM_VALUE 0 *port->disc_addr.trsvcid 0-255
PARAM_VALUE 1 subsys 4096-ptr_max
CAPPED_DATA 0 &port->subsystems 1
DATA_SOURCE 0 port r to_nvmet_port
DATA_SOURCE 1 subsys r to_subsys
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dir->i_rwsem
LOCK2 global &nvmet_config_sem
TYPE_LOCK (struct inode)->i_rwsem

drivers/nvme/target/configfs.c nvmet_port_subsys_drop_link() -> nvmet_port_disc_changed()

Type Parameter Key Value
PARAM_VALUE 0 port 4096-ptr_max
PARAM_VALUE 1 subsys 4096-ptr_max
PARAM_VALUE 1 subsys->lock.dep_map->name 0-255
PARAM_VALUE 1 subsys->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 subsys->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 subsys->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 subsys->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 subsys->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 subsys->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 1 subsys->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 subsys->lock.osq.tail.counter 0-s32max
CAPPED_DATA 0 port 1
CAPPED_DATA 0 &port->subsystems 1
CAPPED_DATA 1 subsys 1
DATA_SOURCE 0 port r to_nvmet_port
DATA_SOURCE 1 subsys r to_subsys
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &nvmet_config_sem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem