Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

block/blk-merge.c req_gap_back_merge() -> bio_will_gap()

Type Parameter Key Value
PARAM_VALUE 0 q->elevator->type->icq_align 0,8
PARAM_VALUE 1 prev_rq 4096-ptr_max
PARAM_VALUE 1 prev_rq->q->elevator->type->icq_align 0,8
PARAM_VALUE 3 next 4096-ptr_max
PARAM_VALUE 3 next->bi_bdev->bd_queue->dev->power.wakeirq->status 0-4294967295
BUF_SIZE 1 prev_rq->end_io_data (-1),5504
BUF_SIZE 3 next (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 3 next (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 3 next->bi_private (-1),48-16432
DATA_SOURCE 1 prev_rq $0
DATA_SOURCE 3 next $1
STR_LEN 3 next->bi_private (-1)
NOSPEC 1 prev_rq->__data_len
NOSPEC 1 prev_rq->__sector
NOSPEC 1 prev_rq->bio->bi_iter.bi_size
NOSPEC 1 prev_rq->biotail->bi_iter.bi_sector
NOSPEC 1 prev_rq->biotail->bi_iter.bi_size
NOSPEC 1 prev_rq->biotail->bi_next->bi_iter.bi_sector
NOSPEC 1 prev_rq->biotail->bi_next->bi_iter.bi_size
NOSPEC 2 prev->bi_iter.bi_sector
NOSPEC 2 prev->bi_iter.bi_size
NOSPEC 2 prev->bi_next->bi_iter.bi_sector
NOSPEC 2 prev->bi_next->bi_iter.bi_size
NOSPEC 3 next->bi_iter.bi_sector
NOSPEC 3 next->bi_iter.bi_size
NOSPEC 3 next->bi_next->bi_iter.bi_sector
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 prev_rq->__data_len 1-u32max[c]
HOST_DATA 1 prev_rq->__sector 0-u64max
HOST_DATA 1 prev_rq->bio->bi_iter.bi_sector 0-u64max
HOST_DATA 1 prev_rq->bio->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 1 prev_rq->biotail->bi_iter.bi_sector 0-u64max
HOST_DATA 1 prev_rq->biotail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 1 prev_rq->biotail->bi_max_vecs 0-u16max[c]
HOST_DATA 1 prev_rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 1 prev_rq->biotail->bi_next->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 1 prev_rq->biotail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 2 prev->bi_iter.bi_sector 0-u64max
HOST_DATA 2 prev->bi_iter.bi_size 0-u32max[c]
HOST_DATA 2 prev->bi_max_vecs 0-u16max[c]
HOST_DATA 2 prev->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 2 prev->bi_next->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 2 prev->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 3 next->bi_bdev->bd_queue->last_merge->__sector 0-s32max[c]
HOST_DATA 3 next->bi_iter.bi_sector 0-u64max
HOST_DATA 3 next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 3 next->bi_max_vecs 0-u16max[c]
HOST_DATA 3 next->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev_rq->__data_len 0-u32max
USER_DATA 1 prev_rq->__sector 0-u64max
USER_DATA 1 prev_rq->bio->bi_ioprio 0-u16max[c]
USER_DATA 1 prev_rq->bio->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev_rq->bio->bi_iter.bi_size 1-u32max[c]
USER_DATA 1 prev_rq->bio->bi_max_vecs 0-256[c]
USER_DATA 1 prev_rq->biotail->bi_ioprio 0-u16max
USER_DATA 1 prev_rq->biotail->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev_rq->biotail->bi_iter.bi_size 0-u32max
USER_DATA 1 prev_rq->biotail->bi_max_vecs 0-u16max[c]
USER_DATA 1 prev_rq->biotail->bi_next->bi_ioprio 0-u16max
USER_DATA 1 prev_rq->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev_rq->biotail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 1 prev_rq->biotail->bi_next->bi_max_vecs 0-u16max[c]
USER_DATA 2 prev->bi_ioprio 0-u16max
USER_DATA 2 prev->bi_iter.bi_sector 0-u64max
USER_DATA 2 prev->bi_iter.bi_size 0-u32max
USER_DATA 2 prev->bi_max_vecs 0-u16max[c]
USER_DATA 2 prev->bi_next->bi_ioprio 0-u16max
USER_DATA 2 prev->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 2 prev->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 2 prev->bi_next->bi_max_vecs 0-u16max[c]
USER_DATA 3 next->bi_ioprio 0-u16max
USER_DATA 3 next->bi_iter.bi_sector 0-u64max
USER_DATA 3 next->bi_iter.bi_size 0-u32max
USER_DATA 3 next->bi_max_vecs 0-u16max[c]
USER_DATA 3 next->bi_next->bi_ioprio 0-u16max[c]
USER_DATA 3 next->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 3 next->bi_next->bi_max_vecs 0-256[c]
NO_OVERFLOW_SIMPLE 0 q->async_depth
NO_OVERFLOW_SIMPLE 0 q->limits.discard_granularity
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->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 0 q->nr_hw_queues
NO_OVERFLOW_SIMPLE 0 q->nr_requests
NO_OVERFLOW_SIMPLE 0 q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->async_depth
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.io_min
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.logical_block_size
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.physical_block_size
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->nr_requests
NO_OVERFLOW_SIMPLE 1 prev_rq->elv.icq->q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 1 prev_rq->q->async_depth
NO_OVERFLOW_SIMPLE 1 prev_rq->q->limits.discard_granularity
NO_OVERFLOW_SIMPLE 1 prev_rq->q->limits.max_discard_sectors
NO_OVERFLOW_SIMPLE 1 prev_rq->q->limits.max_hw_discard_sectors
NO_OVERFLOW_SIMPLE 1 prev_rq->q->limits.max_open_zones
NO_OVERFLOW_SIMPLE 1 prev_rq->q->limits.zone_write_granularity
NO_OVERFLOW_SIMPLE 1 prev_rq->q->nr_hw_queues
NO_OVERFLOW_SIMPLE 1 prev_rq->q->nr_requests
NO_OVERFLOW_SIMPLE 1 prev_rq->q->q_usage_counter.percpu_count_ptr
NO_OVERFLOW_SIMPLE 3 next->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 3 next->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 3 next->bi_next->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 3 next->bi_next->bi_max_vecs
NO_OVERFLOW_SIMPLE 3 next->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 3 next->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 3 next->bio.bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 3 next->bio.bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 3 next->bio.bi_max_vecs
UNITS 1 prev_rq unit_byte
UNITS 2 prev unit_jiffy
UNITS 3 next unit_jiffy
HALF_LOCKED2 3 &next->bi_bdev->bd_queue->queue_lock

block/blk-merge.c req_gap_front_merge() -> bio_will_gap()

Type Parameter Key Value
PARAM_VALUE 1 prev_rq 0
PARAM_VALUE 2 prev 4096-ptr_max
PARAM_VALUE 2 prev->bi_bdev 4096-ptr_max
PARAM_VALUE 2 prev->bi_bdev->bd_disk 4096-ptr_max
PARAM_VALUE 2 prev->bi_bdev->bd_disk->queue->limits.integrity.metadata_size 0-1
PARAM_VALUE 2 prev->bi_bdev->bd_disk->queue->mq_kobj->release.wq->dfl_pwq 0-s64max
PARAM_VALUE 2 prev->bi_bdev->bd_disk->queue->mq_kobj->release.wq->saved_max_active s32min-s32max
PARAM_VALUE 2 prev->bi_bdev->bd_disk->queue->mq_kobj->release.wq->saved_min_active s32min-s32max
PARAM_VALUE 2 prev->bi_bdev->bd_queue->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 2 prev->bi_bdev->bd_queue->mq_kobj->release.wq->dfl_pwq 0-s64max
PARAM_VALUE 2 prev->bi_bdev->bd_queue->mq_kobj->release.wq->saved_max_active s32min-s32max
PARAM_VALUE 2 prev->bi_bdev->bd_queue->mq_kobj->release.wq->saved_min_active s32min-s32max
PARAM_VALUE 2 prev->bi_bdev->bd_queue->stats->accounting s32min-s32max
BUF_SIZE 2 prev (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 2 prev (-1)-0,4,24,32,64,144-s32max
DATA_SOURCE 2 prev $1
STR_LEN 2 prev->bi_private (-1)
NOSPEC 2 prev->bi_iter.bi_sector
NOSPEC 2 prev->bi_iter.bi_size
NOSPEC 2 prev->bi_next->bi_iter.bi_sector
NOSPEC 3 next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 prev->bi_bdev->bd_queue->last_merge->__sector 0-s32max[c]
HOST_DATA 2 prev->bi_iter.bi_sector 0-u64max
HOST_DATA 2 prev->bi_iter.bi_size 0-u32max[c]
HOST_DATA 2 prev->bi_max_vecs 0-u16max[c]
HOST_DATA 2 prev->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 3 next->bi_iter.bi_sector 0-u64max
HOST_DATA 3 next->bi_iter.bi_size 1024-4294966272[c]
USER_DATA 2 prev->bi_ioprio 0-u16max
USER_DATA 2 prev->bi_iter.bi_sector 0-u64max
USER_DATA 2 prev->bi_iter.bi_size 0-u32max
USER_DATA 2 prev->bi_max_vecs 0-u16max[c]
USER_DATA 2 prev->bi_next->bi_ioprio 0-u16max[c]
USER_DATA 2 prev->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 2 prev->bi_next->bi_max_vecs 0-256[c]
USER_DATA 3 next->bi_ioprio 0-u16max[c]
USER_DATA 3 next->bi_iter.bi_sector 0-u64max
USER_DATA 3 next->bi_iter.bi_size 1-u32max[c]
USER_DATA 3 next->bi_max_vecs 0-256[c]
NO_OVERFLOW_SIMPLE 2 prev->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 2 prev->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 2 prev->bi_next->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 2 prev->bi_next->bi_max_vecs
NO_OVERFLOW_SIMPLE 2 prev->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 2 prev->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 2 prev->bio.bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 2 prev->bio.bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 2 prev->bio.bi_max_vecs
UNITS 2 prev unit_jiffy
UNITS 3 next unit_jiffy
HALF_LOCKED2 2 &prev->bi_bdev->bd_queue->queue_lock