Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

block/blk-mq.c blk_mq_destroy_queue() -> blk_mq_freeze_queue_wait()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 q->mq_freeze_lock.dep_map->name 0-255
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 q->mq_freeze_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 q->mq_ops 0-1
PARAM_VALUE 0 q->q_usage_counter.data 0,4096-ptr_max
PARAM_VALUE 0 q->q_usage_counter.data->rcu.func 1-u64max
PARAM_VALUE 0 q->q_usage_counter.data->rcu.next 0
PARAM_VALUE 0 q->q_usage_counter.percpu_count_ptr 1-u64max
BUF_SIZE 0 q->mq_ops (-1),144
BUF_SIZE 0 q->queuedata (-1),128,736,792,816,1008-s32max
BUF_SIZE 0 q->tag_set (-1),528
DATA_SOURCE 0 q $0
STR_LEN 0 q->queuedata (-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 q->async_depth 1-10238[c]
HOST_DATA 0 q->disk->bdi->io_pages 0-268435455[c]
HOST_DATA 0 q->disk->bdi->ra_pages 33-536870911[c]
HOST_DATA 0 q->limits.alignment_offset 0-u16max[c]
HOST_DATA 0 q->limits.atomic_write_max_sectors 0-8388607[c]
HOST_DATA 0 q->limits.discard_granularity 512-u32max[c]
HOST_DATA 0 q->limits.integrity.interval_exp 0-31[c]
HOST_DATA 0 q->limits.io_min 512-65536[c]
HOST_DATA 0 q->limits.max_active_zones 0-u32max
HOST_DATA 0 q->limits.max_integrity_segments 0-u16max
HOST_DATA 0 q->limits.max_open_zones 0-u32max
HOST_DATA 0 q->limits.max_sectors 0-s32max[c]
HOST_DATA 0 q->limits.max_segments 1-u16max[c]
HOST_DATA 0 q->limits.max_zone_append_sectors 0-s32max[c]
HOST_DATA 0 q->limits.zone_write_granularity 512-65536[c]
HOST_DATA 0 q->mq_kobj->kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 q->nr_requests 1-10238[c]
HOST_DATA 0 q->tag_set->queue_depth 1-10238[c]
HOST_DATA 0 q->tag_set->reserved_tags 0-u32max
HOST_DATA 0 q->tag_set->tags_srcu.srcu_sup->srcu_ssp->srcu_reader_flavor 0-255
USER_DATA 0 q->limits.atomic_write_max_sectors 0-8388607[c]
USER_DATA 0 q->limits.discard_granularity 512-u32max[c]
USER_DATA 0 q->limits.io_min 512-u32max[c]
USER_DATA 0 q->limits.logical_block_size 512-65536[c]
USER_DATA 0 q->limits.physical_block_size 512-u32max[c]
USER_DATA 0 q->queue_depth 1-4095[c]
NO_OVERFLOW_SIMPLE 0 q->async_depth
NO_OVERFLOW_SIMPLE 0 q->disk->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 q->disk->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 q->nr_requests
NO_OVERFLOW_SIMPLE 0 q->tag_set->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 q->tag_set->queue_depth
HALF_LOCKED2 &shost->scan_mutex

block/blk-mq.c blk_mq_freeze_queue_nomemsave() -> blk_mq_freeze_queue_wait()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->debugfs_dir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->debugfs_dir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 q->debugfs_dir->d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 q->debugfs_dir->d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 q->debugfs_dir->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 q->debugfs_dir->d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 q->debugfs_dir->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 q->debugfs_dir->d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 q->debugfs_dir->d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 q->debugfs_dir->d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 q->debugfs_dir->d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 q->debugfs_dir->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 q->debugfs_dir->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 q->debugfs_dir->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 q->debugfs_dir->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 q->debugfs_dir->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 q->debugfs_dir->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 q->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 q->elevator->type->elevator_name 1293291037062647808,3885852998487097344,6240106221646659584
PARAM_VALUE 0 q->mq_freeze_lock.dep_map->name 0-255
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 q->mq_freeze_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 q->mq_freeze_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 q->mq_freeze_owner 1-u64max
PARAM_VALUE 0 q->mq_kobj->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 q->q_usage_counter.data 0,4096-ptr_max
PARAM_VALUE 0 q->q_usage_counter.data->rcu.func 1-u64max
PARAM_VALUE 0 q->q_usage_counter.data->rcu.next 0
PARAM_VALUE 0 q->q_usage_counter.percpu_count_ptr 1-u64max
PARAM_VALUE 0 q->sched_debugfs_dir->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->sched_debugfs_dir->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 q->sched_debugfs_dir->d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 q->sched_debugfs_dir->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 q->sched_debugfs_dir->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 q->sched_debugfs_dir->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 q->sched_debugfs_dir->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 q->sched_debugfs_dir->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 q->sched_debugfs_dir->d_sb->__s_d_op->d_weak_revalidate 0,1549882712720502784,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 q->tag_set->update_nr_hwq_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->tag_set->update_nr_hwq_lock.first_waiter->type 0-1
BUF_SIZE 0 q (-1)-s32max
BUF_SIZE 0 q (-1)-s32max
BUF_SIZE 0 q->debugfs_dir s32min-(-1),1-s32max
DATA_SOURCE 0 q $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 q->async_depth 0-10238[c]
HOST_DATA 0 q->limits.alignment_offset 0-u16max[c]
HOST_DATA 0 q->limits.atomic_write_max_sectors 0-8388607[c]
HOST_DATA 0 q->limits.discard_granularity 512-u32max[c]
HOST_DATA 0 q->limits.integrity.interval_exp 0-31[c]
HOST_DATA 0 q->limits.io_min 512-65536[c]
HOST_DATA 0 q->limits.max_active_zones 0-u32max
HOST_DATA 0 q->limits.max_open_zones 0-u32max
HOST_DATA 0 q->limits.max_sectors 0-s32max[c]
HOST_DATA 0 q->limits.max_zone_append_sectors 0-s32max[c]
HOST_DATA 0 q->limits.zone_write_granularity 512-65536[c]
HOST_DATA 0 q->nr_requests 0-10238[c]
USER_DATA 0 q->limits.alignment_offset 0-u32max[c][u]
USER_DATA 0 q->limits.atomic_write_max_sectors 0-8388607[c]
USER_DATA 0 q->limits.discard_granularity 512-u32max[c]
USER_DATA 0 q->limits.io_min 512-u32max[c]
USER_DATA 0 q->limits.logical_block_size 512-65536[c]
USER_DATA 0 q->limits.max_hw_wzeroes_unmap_sectors 0-u32max[c]
USER_DATA 0 q->limits.max_sectors 0-s32max[c]
USER_DATA 0 q->limits.max_write_zeroes_sectors 0-u32max[c]
USER_DATA 0 q->limits.max_wzeroes_unmap_sectors 0-s32max[c]
USER_DATA 0 q->limits.max_zone_append_sectors 0-s32max[c]
USER_DATA 0 q->limits.physical_block_size 512-u32max[c]
USER_DATA 0 q->queue_depth 1-4095[c]
NO_OVERFLOW_SIMPLE 0 q->async_depth
NO_OVERFLOW_SIMPLE 0 q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 q->nr_requests
HALF_LOCKED2 &bdev->bd_queue->rq_qos_mutex
HALF_LOCKED2 &hba->host_sem
HALF_LOCKED2 &lo->lo_mutex
HALF_LOCKED2 &nbd->config_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &set->tag_list_lock
HALF_LOCKED2 &set->update_nr_hwq_lock
HALF_LOCKED2 &shost->scan_mutex
HALF_LOCKED2 &ub->mutex
HALF_LOCKED2 global &mtd_table_mutex
HALF_LOCKED2 0 &q->limits_lock
HALF_LOCKED2 0 &q->sysfs_lock

drivers/nvme/host/core.c nvme_wait_freeze() -> blk_mq_freeze_queue_wait()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctrl->srcu
HALF_LOCKED2 &ctrl->scan_lock
HALF_LOCKED2 &ctrl->subsys->lock
TYPE_LOCK (struct nvme_ctrl)->srcu

block/genhd.c __del_gendisk() -> blk_mq_freeze_queue_wait()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->mq_ops 0-1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 q->limits.alignment_offset 0-u16max[c]
HOST_DATA 0 q->limits.atomic_write_max_sectors 0-8388607[c]
HOST_DATA 0 q->limits.discard_granularity 512-u32max[c]
HOST_DATA 0 q->limits.integrity.interval_exp 0-31[c]
HOST_DATA 0 q->limits.io_min 512-65536[c]
HOST_DATA 0 q->limits.max_active_zones 0-u32max
HOST_DATA 0 q->limits.max_open_zones 0-u32max
HOST_DATA 0 q->limits.max_sectors 0-s32max[c]
HOST_DATA 0 q->limits.max_zone_append_sectors 0-s32max[c]
HOST_DATA 0 q->limits.zone_write_granularity 512-65536[c]
NO_OVERFLOW_SIMPLE 0 q->async_depth
NO_OVERFLOW_SIMPLE 0 q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 q->nr_requests
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &md->table_devices_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &set->update_nr_hwq_lock
HALF_LOCKED2 &ub->mutex
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 global &devices_mutex
HALF_LOCKED2 global &mtd_table_mutex

drivers/nvme/host/multipath.c nvme_mpath_wait_freeze() -> blk_mq_freeze_queue_wait()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &ctrl->scan_lock
LOCK2 &subsys->lock
TYPE_LOCK (struct nvme_ctrl)->scan_lock
TYPE_LOCK (struct nvme_subsystem)->lock