Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/md/md-linear.c is_rdev_broken() -> disk_live()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier

block/holder.c bd_link_disk_holder() -> disk_live()

Type Parameter Key Value
CAPPED_DATA 0 &disk->open_mutex 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &disk->open_mutex
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &md->table_devices_lock
HALF_LOCKED2 global &bch_register_lock
TYPE_LOCK (struct gendisk)->open_mutex

drivers/nvme/host/core.c nvme_first_scan() -> disk_live()

Type Parameter Key Value
PARAM_VALUE 0 disk 4096-ptr_max
BUF_SIZE 0 disk (-1),2000
BUF_SIZE 0 disk (-1),2000
DATA_SOURCE 0 disk $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 disk->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->zone_wplugs_pool->curr_nr
NO_OVERFLOW_SIMPLE 0 disk->zone_wplugs_pool->min_nr
HALF_LOCKED2 &ctrl->scan_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &disk->queue->limits_lock

block/bdev.c bdev_open() -> disk_live()

Type Parameter Key Value
PARAM_VALUE 0 disk 4096-ptr_max
CAPPED_DATA 0 &disk->open_mutex 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &disk->open_mutex
TYPE_LOCK (struct gendisk)->open_mutex

block/partitions/core.c bdev_add_partition() -> disk_live()

Type Parameter Key Value
PARAM_VALUE 0 disk 4096-ptr_max
PARAM_VALUE 0 disk->part0 4096-ptr_max
CAPPED_DATA 0 &disk->open_mutex 1
DATA_SOURCE 0 disk $0
CAPABLE 0 21
LOCK2 0 &disk->open_mutex
TYPE_LOCK (struct gendisk)->open_mutex

block/partitions/core.c bdev_disk_changed() -> disk_live()

Type Parameter Key Value
PARAM_VALUE 0 disk 4096-ptr_max
DATA_SOURCE 0 disk $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 disk->part0->bd_nr_sectors 0-18014398509481983
HALF_LOCKED2 &disk->open_mutex
HALF_LOCKED2 0 &disk->open_mutex
TYPE_LOCK (struct gendisk)->open_mutex

block/blk-cgroup.c blkg_conf_open_bdev() -> disk_live()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &bdev->bd_queue->rq_qos_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct request_queue)->rq_qos_mutex

drivers/md/raid0.c is_rdev_broken() -> disk_live()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier

block/error-injection.c error_inject_add() -> disk_live()

Type Parameter Key Value
BUF_SIZE 0 disk s32min-(-2),1-s32max
BUF_SIZE 0 disk s32min-(-2),1-s32max
CAPPED_DATA 0 &disk->error_injection_lock 1
DATA_SOURCE 0 disk $0
UNITS 0 disk unit_array_size
LOCK2 0 &disk->error_injection_lock
TYPE_LOCK (struct gendisk)->error_injection_lock

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

Type Parameter Key Value
PARAM_VALUE 0 disk 4096-ptr_max
BUF_SIZE 0 disk (-1)-0,2000
BUF_SIZE 0 disk (-1)-0,2000
BUF_SIZE 0 disk->fops (-1),144
BUF_SIZE 0 disk->private_data (-1),128
DATA_SOURCE 0 disk $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 disk->part0->bd_nr_sectors 0-18014398509481983
HOST_DATA 0 disk->part0->bd_queue->async_depth 1-10238[c]
HOST_DATA 0 disk->part0->bd_queue->limits.alignment_offset 0-u16max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.atomic_write_max_sectors 0-8388607[c]
HOST_DATA 0 disk->part0->bd_queue->limits.discard_granularity 512-u32max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.integrity.interval_exp 0-31[c]
HOST_DATA 0 disk->part0->bd_queue->limits.io_min 512-65536[c]
HOST_DATA 0 disk->part0->bd_queue->limits.max_active_zones 0-u32max
HOST_DATA 0 disk->part0->bd_queue->limits.max_open_zones 0-u32max
HOST_DATA 0 disk->part0->bd_queue->limits.max_sectors 0-s32max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.max_zone_append_sectors 0-s32max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.zone_write_granularity 512-65536[c]
HOST_DATA 0 disk->part0->bd_queue->nr_requests 1-10238[c]
HOST_DATA 0 disk->queue->limits.alignment_offset 0-u16max[c]
HOST_DATA 0 disk->queue->limits.atomic_write_max_sectors 0-8388607[c]
HOST_DATA 0 disk->queue->limits.discard_granularity 512-u32max[c]
HOST_DATA 0 disk->queue->limits.integrity.interval_exp 0-31[c]
HOST_DATA 0 disk->queue->limits.io_min 512-65536[c]
HOST_DATA 0 disk->queue->limits.max_active_zones 0-u32max
HOST_DATA 0 disk->queue->limits.max_open_zones 0-u32max
HOST_DATA 0 disk->queue->limits.max_sectors 0-s32max[c]
HOST_DATA 0 disk->queue->limits.max_zone_append_sectors 0-s32max[c]
HOST_DATA 0 disk->queue->limits.zone_write_granularity 512-65536[c]
NO_OVERFLOW_SIMPLE 0 disk->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_disk->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_disk->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_queue->async_depth
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_queue->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_queue->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_queue->nr_requests
NO_OVERFLOW_SIMPLE 0 disk->queue->async_depth
NO_OVERFLOW_SIMPLE 0 disk->queue->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 disk->queue->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 disk->queue->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 disk->queue->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 disk->queue->nr_requests
NO_OVERFLOW_SIMPLE 0 disk->zone_wplugs_pool->curr_nr
NO_OVERFLOW_SIMPLE 0 disk->zone_wplugs_pool->min_nr
NO_OVERFLOW_SIMPLE 0 disk->zone_wplugs_worker->dl.pi_se->dl_runtime
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

block/genhd.c disk_release() -> disk_live()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &subsys->su_mutex

block/genhd.c set_capacity_and_notify() -> disk_live()

Type Parameter Key Value
PARAM_VALUE 0 disk 4096-ptr_max
PARAM_VALUE 0 disk->part0 4096-ptr_max
BUF_SIZE 0 disk (-1),2000
BUF_SIZE 0 disk (-1),2000
BUF_SIZE 0 disk->fops (-1),144
BUF_SIZE 0 disk->private_data (-1),816
DATA_SOURCE 0 disk $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 disk->part0->bd_nr_sectors 0-18014398509481983
HOST_DATA 0 disk->part0->bd_queue->async_depth 1-10238[c]
HOST_DATA 0 disk->part0->bd_queue->limits.alignment_offset 0-u16max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.atomic_write_max_sectors 0-8388607[c]
HOST_DATA 0 disk->part0->bd_queue->limits.discard_granularity 512-u32max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.integrity.interval_exp 0-31[c]
HOST_DATA 0 disk->part0->bd_queue->limits.io_min 512-65536[c]
HOST_DATA 0 disk->part0->bd_queue->limits.max_active_zones 0-u32max
HOST_DATA 0 disk->part0->bd_queue->limits.max_open_zones 0-u32max
HOST_DATA 0 disk->part0->bd_queue->limits.max_sectors 0-s32max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.max_zone_append_sectors 0-s32max[c]
HOST_DATA 0 disk->part0->bd_queue->limits.zone_write_granularity 512-65536[c]
HOST_DATA 0 disk->part0->bd_queue->nr_requests 1-10238[c]
HOST_DATA 0 disk->queue->async_depth 1-10238[c]
HOST_DATA 0 disk->queue->limits.alignment_offset 0-u16max[c]
HOST_DATA 0 disk->queue->limits.atomic_write_max_sectors 0-8388607[c]
HOST_DATA 0 disk->queue->limits.discard_granularity 512-u32max[c]
HOST_DATA 0 disk->queue->limits.integrity.interval_exp 0-31[c]
HOST_DATA 0 disk->queue->limits.io_min 512-65536[c]
HOST_DATA 0 disk->queue->limits.max_active_zones 0-u32max
HOST_DATA 0 disk->queue->limits.max_open_zones 0-u32max
HOST_DATA 0 disk->queue->limits.max_sectors 0-s32max[c]
HOST_DATA 0 disk->queue->limits.max_zone_append_sectors 0-s32max[c]
HOST_DATA 0 disk->queue->limits.zone_write_granularity 512-65536[c]
HOST_DATA 0 disk->queue->nr_requests 1-10238[c]
USER_DATA 0 disk->part0->bd_nr_sectors 0-18014398509481983
USER_DATA 0 disk->queue->disk->bdi->io_pages 0-268435455[c]
USER_DATA 0 disk->queue->disk->bdi->ra_pages 33-536870911[c]
USER_DATA 0 disk->queue->limits.atomic_write_max_sectors 0-8388607[c]
USER_DATA 0 disk->queue->limits.discard_granularity 512-u32max[c]
USER_DATA 0 disk->queue->limits.io_min 512-u32max[c]
USER_DATA 0 disk->queue->limits.logical_block_size 512-65536[c]
USER_DATA 0 disk->queue->limits.physical_block_size 512-u32max[c]
NO_OVERFLOW_SIMPLE 0 disk->bdi->debug_dir->d_fsdata->d_fsdata
NO_OVERFLOW_SIMPLE 0 disk->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_queue->async_depth
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_queue->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 disk->part0->bd_queue->nr_requests
NO_OVERFLOW_SIMPLE 0 disk->queue->async_depth
NO_OVERFLOW_SIMPLE 0 disk->queue->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 disk->queue->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 disk->queue->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 disk->queue->nr_requests
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &lo->lo_mutex
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &nbd->config_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &rbd_dev->header_rwsem
HALF_LOCKED2 &ub->mutex
HALF_LOCKED2 _T->lock