Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

block/blk-map.c blk_rq_append_bio() -> bio_seg_gap()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->elevator->type->icq_align 0,8
PARAM_VALUE 1 prev 0,4096-ptr_max
PARAM_VALUE 1 prev->bi_crypt_context 0,4096-ptr_max
PARAM_VALUE 1 prev->bi_iter.bi_size 1-u32max
PARAM_VALUE 2 next 4096-ptr_max
PARAM_VALUE 2 next->bi_crypt_context 0,4096-ptr_max
BUF_SIZE 2 next (-1)-0,144-16528
BUF_SIZE 2 next (-1)-0,144-16528
BUF_SIZE 2 next->bi_private (-1),48-16432
CAPPED_DATA 0 q 1
CAPPED_DATA 1 prev->bi_iter.bi_size 1
CAPPED_DATA 2 next->bi_blkg 1
DATA_SOURCE 2 next $1
NOSPEC 1 prev->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 prev->bi_iter.bi_size 1-1000000000[c]
USER_DATA 1 prev->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 1 prev->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 2 next->bi_max_vecs 0-4,16,64,128,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 2 next->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 2 next->bi_pool->bvec_pool.min_nr
UNITS 1 prev unit_jiffy

block/blk-merge.c attempt_merge() -> bio_seg_gap()

Type Parameter Key Value
PARAM_VALUE 2 next 4096-ptr_max
NOSPEC 1 prev->bi_iter.bi_sector
NOSPEC 1 prev->bi_iter.bi_size
NOSPEC 1 prev->bi_next->bi_iter.bi_sector
NOSPEC 1 prev->bi_next->bi_iter.bi_size
NOSPEC 2 next->bi_iter.bi_sector
NOSPEC 2 next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 prev->bi_iter.bi_sector 0-u64max
HOST_DATA 1 prev->bi_iter.bi_size 1-u32max[c]
HOST_DATA 1 prev->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 1 prev->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 1 prev->bi_next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 1 prev->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 2 next->bi_iter.bi_sector 0-u64max
HOST_DATA 2 next->bi_iter.bi_size 1-u32max[c]
HOST_DATA 2 next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 1 prev->bi_ioprio 0-u16max
USER_DATA 1 prev->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev->bi_iter.bi_size 1-u32max
USER_DATA 1 prev->bi_max_vecs 0-u16max[c]
USER_DATA 1 prev->bi_next->bi_ioprio 0-u16max
USER_DATA 1 prev->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 1 prev->bi_next->bi_max_vecs 0-u16max[c]
USER_DATA 2 next->bi_iter.bi_sector 0-u64max
USER_DATA 2 next->bi_iter.bi_size 1-u32max[c]
USER_DATA 2 next->bi_max_vecs 0-u16max[c]
UNITS 1 prev unit_jiffy
UNITS 2 next unit_jiffy
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

block/blk-merge.c bio_attempt_back_merge() -> bio_seg_gap()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 prev 0,4096-ptr_max
PARAM_VALUE 1 prev->bi_iter.bi_size 1-u32max
PARAM_VALUE 2 next 4096-ptr_max
PARAM_VALUE 2 next->bi_bdev->bd_queue->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 2 next->bi_crypt_context 0,4096-ptr_max
PARAM_VALUE 2 next->bi_opf 0,256-u32max
BUF_SIZE 2 next (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 2 next (-1)-0,4,24,32,64,144-s32max
CAPPED_DATA 1 prev->bi_iter.bi_size 1
CAPPED_DATA 2 next->bi_blkg 1
DATA_SOURCE 2 next $1
STR_LEN 2 next->bi_private (-1)
NOSPEC 1 prev->bi_iter.bi_sector
NOSPEC 1 prev->bi_iter.bi_size
NOSPEC 1 prev->bi_next->bi_iter.bi_sector
NOSPEC 1 prev->bi_next->bi_iter.bi_size
NOSPEC 2 next->bi_iter.bi_sector
NOSPEC 2 next->bi_iter.bi_size
NOSPEC 2 next->bi_next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 prev->bi_iter.bi_sector 0-u64max
HOST_DATA 1 prev->bi_iter.bi_size 1-u32max[c]
HOST_DATA 1 prev->bi_max_vecs 0-u16max[c]
HOST_DATA 1 prev->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 1 prev->bi_next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 1 prev->bi_next->bi_max_vecs 0-u16max[c]
HOST_DATA 2 next->bi_bdev->bd_queue->last_merge->__sector 0-18446744073709551614
HOST_DATA 2 next->bi_iter.bi_sector 0-u64max
HOST_DATA 2 next->bi_iter.bi_size 0-u32max[c]
HOST_DATA 2 next->bi_max_vecs 0-u16max[c]
HOST_DATA 2 next->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 2 next->bi_next->bi_iter.bi_size 1024-4294966272[c]
USER_DATA 1 prev->bi_ioprio 0-u16max
USER_DATA 1 prev->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev->bi_iter.bi_size 1-u32max[c]
USER_DATA 1 prev->bi_max_vecs 0-u16max[c]
USER_DATA 1 prev->bi_next->bi_ioprio 0-u16max
USER_DATA 1 prev->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 1 prev->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 1 prev->bi_next->bi_max_vecs 0-u16max[c]
USER_DATA 2 next->bi_ioprio 0-u16max
USER_DATA 2 next->bi_iter.bi_sector 0-u64max
USER_DATA 2 next->bi_iter.bi_size 0-u32max
USER_DATA 2 next->bi_max_vecs 0-u16max[c]
USER_DATA 2 next->bi_next->bi_ioprio 0-u16max[c]
USER_DATA 2 next->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 2 next->bi_next->bi_iter.bi_size 1-u32max
USER_DATA 2 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 2 next->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 2 next->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 2 next->bi_next->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 2 next->bi_next->bi_max_vecs
NO_OVERFLOW_SIMPLE 2 next->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 2 next->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 2 next->bio.bi_max_vecs
UNITS 1 prev unit_jiffy
UNITS 2 next unit_jiffy
HALF_LOCKED2 &zwplug->lock
HALF_LOCKED2 flags
HALF_LOCKED2 2 &next->bi_bdev->bd_queue->queue_lock

block/blk-merge.c bio_attempt_front_merge() -> bio_seg_gap()

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