Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

block/blk-mq.c blk_execute_rq() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->end_io 8224711835847061504
PARAM_VALUE 0 rq->end_io_data 1964915337089572864
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 1 flags 0-1
BUF_SIZE 0 rq->end_io_data 104
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
FUZZY_MAX 1 flags 1
NOSPEC 0 rq->__data_len
NOSPEC 0 rq->biotail->bi_iter.bi_size
HARD_MAX 1 flags 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 rq->__data_len 0-1000000000
USER_DATA 0 rq->biotail->bi_iter.bi_size 0-u32max
USER_DATA 0 rq->biotail->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 rq->biotail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
NO_OVERFLOW_SIMPLE 0 rq->bio->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 0 rq->bio->bi_max_vecs
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 0 rq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->q->q_usage_counter.percpu_count_ptr
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &cd->lock
HALF_LOCKED2 &hba->clk_scaling_lock
HALF_LOCKED2 &hba->dev_cmd.lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vblk->vdev_mutex

block/blk-mq.c blk_execute_rq_nowait() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->__sector u64max
PARAM_VALUE 0 rq->bio 0,4096-ptr_max
PARAM_VALUE 0 rq->biotail 0,4096-ptr_max
PARAM_VALUE 0 rq->biotail->bi_crypt_context 0,4096-ptr_max
PARAM_VALUE 0 rq->end_io 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 1 flags 0-1
BUF_SIZE 0 rq->end_io_data (-1)-0,144,512
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
FUZZY_MAX 1 flags 1
STR_LEN 0 rq->end_io_data (-1)
BIT_INFO 0 rq->end_io 0x0,0x7fffffffffffffff
HARD_MAX 1 flags 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 rq->bio->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 0 rq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->q->q_usage_counter.percpu_count_ptr

block/blk-mq.c blk_mq_request_issue_directly() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx 4096-ptr_max
PARAM_VALUE 1 flags 0
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 rq->bio->bi_iter.bi_sector
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

block/blk-mq.c blk_mq_requeue_work() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 1 flags 1
BIT_INFO 0 rq->rq_flags 0x0,0xfffffff7
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

block/blk-mq.c blk_mq_requeue_work() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 1 flags 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

block/blk-mq.c blk_mq_submit_bio() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 4096-ptr_max
PARAM_VALUE 0 rq->biotail 4096-ptr_max
PARAM_VALUE 0 rq->biotail->bi_bdev 4096-ptr_max
PARAM_VALUE 0 rq->mq_ctx 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx->dispatch_busy 1-u32max
PARAM_VALUE 0 rq->part 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->rq_flags 0,2-u32max
PARAM_VALUE 0 *rq->crypt_ctx->bc_key->bytes 0-255
PARAM_VALUE 1 flags 0
CAPPED_DATA 0 rq 1
CAPPED_DATA 0 rq->bio 1
CAPPED_DATA 0 rq->biotail 1
CAPPED_DATA 0 rq->q 1
DATA_SOURCE 0 rq r blk_mq_get_new_requests
NOSPEC 0 rq->__data_len
NOSPEC 0 rq->__sector
NOSPEC 0 rq->biotail->bi_iter.bi_sector
NOSPEC 0 rq->biotail->bi_iter.bi_size
NOSPEC 0 rq->biotail->bi_next->bi_iter.bi_sector
NOSPEC 0 rq->biotail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 rq->__data_len 0-u32max[c]
HOST_DATA 0 rq->__sector 0-u64max
HOST_DATA 0 rq->biotail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 rq->biotail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 rq->biotail->bi_max_vecs 0-u16max[c]
HOST_DATA 0 rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 rq->biotail->bi_next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 rq->biotail->bi_next->bi_max_vecs 0-u16max[c]
USER_DATA 0 rq->__data_len 0-u32max
USER_DATA 0 rq->__sector 0-u64max
USER_DATA 0 rq->biotail->bi_ioprio 0-u16max
USER_DATA 0 rq->biotail->bi_iter.bi_sector 0-u64max
USER_DATA 0 rq->biotail->bi_iter.bi_size 0-u32max
USER_DATA 0 rq->biotail->bi_max_vecs 0-u16max[c]
USER_DATA 0 rq->biotail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 rq->biotail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 rq->biotail->bi_next->bi_max_vecs 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 0 rq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->q->q_usage_counter.percpu_count_ptr

block/blk-mq.c blk_mq_try_issue_directly() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 4096-ptr_max
PARAM_VALUE 0 rq->biotail 4096-ptr_max
PARAM_VALUE 0 rq->biotail->bi_bdev 4096-ptr_max
PARAM_VALUE 0 rq->mq_ctx 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx 4096-ptr_max
PARAM_VALUE 0 rq->part 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->rq_flags 0,2-u32max
PARAM_VALUE 0 *rq->crypt_ctx->bc_key->bytes 0-255
PARAM_VALUE 1 flags 0
CAPPED_DATA 0 rq 1
CAPPED_DATA 0 rq->bio 1
CAPPED_DATA 0 rq->biotail 1
CAPPED_DATA 0 rq->q 1
DATA_SOURCE 0 rq $1
BIT_INFO 0 rq->rq_flags 0x0,0xffffffdf
NOSPEC 0 rq->__data_len
NOSPEC 0 rq->__sector
NOSPEC 0 rq->biotail->bi_iter.bi_sector
NOSPEC 0 rq->biotail->bi_iter.bi_size
NOSPEC 0 rq->biotail->bi_next->bi_iter.bi_sector
NOSPEC 0 rq->biotail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 rq->__data_len 0-u32max[c]
HOST_DATA 0 rq->__sector 0-u64max
HOST_DATA 0 rq->biotail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 rq->biotail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 rq->biotail->bi_max_vecs 0-u16max[c]
HOST_DATA 0 rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 rq->biotail->bi_next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 rq->biotail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 rq->__data_len 0-u32max
USER_DATA 0 rq->__sector 0-u64max
USER_DATA 0 rq->biotail->bi_ioprio 0-u16max
USER_DATA 0 rq->biotail->bi_iter.bi_sector 0-u64max
USER_DATA 0 rq->biotail->bi_iter.bi_size 0-u32max
USER_DATA 0 rq->biotail->bi_max_vecs 0-u16max[c]
USER_DATA 0 rq->biotail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 rq->biotail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 rq->biotail->bi_next->bi_max_vecs 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 0 rq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->q->q_usage_counter.percpu_count_ptr
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

block/blk-mq.c blk_mq_try_issue_directly() -> blk_mq_insert_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 4096-ptr_max
PARAM_VALUE 0 rq->biotail 4096-ptr_max
PARAM_VALUE 0 rq->biotail->bi_bdev 4096-ptr_max
PARAM_VALUE 0 rq->mq_ctx 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx 4096-ptr_max
PARAM_VALUE 0 rq->part 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->mq_ops 4096-ptr_max
PARAM_VALUE 0 rq->rq_flags 0,2-u32max
PARAM_VALUE 0 *rq->crypt_ctx->bc_key->bytes 0-255
PARAM_VALUE 1 flags 0
CAPPED_DATA 0 rq 1
CAPPED_DATA 0 rq->bio 1
CAPPED_DATA 0 rq->biotail 1
CAPPED_DATA 0 rq->q 1
DATA_SOURCE 0 rq $1
BIT_INFO 0 rq->rq_flags 0x0,0xffffffdf
NOSPEC 0 rq->__data_len
NOSPEC 0 rq->__sector
NOSPEC 0 rq->biotail->bi_iter.bi_sector
NOSPEC 0 rq->biotail->bi_iter.bi_size
NOSPEC 0 rq->biotail->bi_next->bi_iter.bi_sector
NOSPEC 0 rq->biotail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 rq->__data_len 0-u32max[c]
HOST_DATA 0 rq->__sector 0-u64max
HOST_DATA 0 rq->biotail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 rq->biotail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 rq->biotail->bi_max_vecs 0-u16max[c]
HOST_DATA 0 rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 rq->biotail->bi_next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 rq->biotail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 rq->__data_len 0-u32max
USER_DATA 0 rq->__sector 0-u64max
USER_DATA 0 rq->biotail->bi_ioprio 0-u16max
USER_DATA 0 rq->biotail->bi_iter.bi_sector 0-u64max
USER_DATA 0 rq->biotail->bi_iter.bi_size 0-u32max
USER_DATA 0 rq->biotail->bi_max_vecs 0-u16max[c]
USER_DATA 0 rq->biotail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 rq->biotail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 rq->biotail->bi_next->bi_max_vecs 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->elv.icq->q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 0 rq->q->async_depth
NO_OVERFLOW_SIMPLE 0 rq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 0 rq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 0 rq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 rq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 rq->q->nr_requests
NO_OVERFLOW_SIMPLE 0 rq->q->q_usage_counter.percpu_count_ptr
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read