Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

block/blk-map.c bio_copy_kern() -> blk_rq_map_bio_alloc()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->__data_len 0
PARAM_VALUE 0 rq->__sector u64max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->biotail 0
PARAM_VALUE 0 rq->phys_gap_bit 0
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.next->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->prev 4096-ptr_max
PARAM_VALUE 2 gfp_mask 3072,3264
CAPPED_DATA 0 rq->q 1
DATA_SOURCE 0 rq $0
DATA_SOURCE 2 gfp_mask $3
NOSPEC 0 rq->biotail->bi_iter.bi_size
HARD_MAX 2 gfp_mask 3264
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rq->biotail->bi_iter.bi_size 0-1000000000
USER_DATA 0 rq->biotail->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 1 nr_vecs 0-s32max[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.physical_block_size
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
UNITS 1 nr_vecs unit_page
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vblk->vdev_mutex

block/blk-map.c bio_copy_user_iov() -> blk_rq_map_bio_alloc()

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
PARAM_VALUE 0 rq->mq_hctx->type 0-2
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->elevator->type->icq_align 0,8
PARAM_VALUE 0 rq->queuelist.next->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->prev 4096-ptr_max
PARAM_VALUE 1 nr_vecs 0-256
PARAM_VALUE 2 gfp_mask 3264,10240
BUF_SIZE 0 rq->end_io_data (-1),5504
CAPPED_DATA 0 rq 1
CAPPED_DATA 1 nr_vecs 1
DATA_SOURCE 0 rq $0
DATA_SOURCE 1 nr_vecs r bio_max_segs
DATA_SOURCE 2 gfp_mask $3
FUZZY_MAX 2 gfp_mask 10240
BIT_INFO 2 gfp_mask 0x800,0x3fff
HARD_MAX 2 gfp_mask 10240
RX_PATH
TASK_NOT_RUNNING
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.io_min
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.physical_block_size
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-map.c bio_map_kern() -> blk_rq_map_bio_alloc()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->__data_len 0
PARAM_VALUE 0 rq->__sector u64max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->biotail 0
PARAM_VALUE 0 rq->phys_gap_bit 0
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.next->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->prev 4096-ptr_max
PARAM_VALUE 1 nr_vecs 1-1048577
PARAM_VALUE 2 gfp_mask 3072,3264
CAPPED_DATA 0 rq->q 1
DATA_SOURCE 0 rq $0
DATA_SOURCE 1 nr_vecs r bio_add_max_vecs
DATA_SOURCE 2 gfp_mask $3
NOSPEC 0 rq->biotail->bi_iter.bi_size
HARD_MAX 2 gfp_mask 3264
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 rq->biotail->bi_iter.bi_size 0-1000000000
USER_DATA 0 rq->biotail->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 1 nr_vecs 1-524289[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.physical_block_size
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 &of->mutex
HALF_LOCKED2 &vblk->vdev_mutex

block/blk-map.c bio_map_user_iov() -> blk_rq_map_bio_alloc()

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
PARAM_VALUE 0 rq->mq_hctx->type 0-2
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->elevator->type->icq_align 0,8
PARAM_VALUE 0 rq->queuelist.next->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->prev 4096-ptr_max
PARAM_VALUE 2 gfp_mask 3264,10240
BUF_SIZE 0 rq->end_io_data (-1),5504
CAPPED_DATA 0 rq 1
CAPPED_DATA 1 nr_vecs 1
DATA_SOURCE 0 rq $0
DATA_SOURCE 1 nr_vecs r iov_iter_npages
DATA_SOURCE 2 gfp_mask $2
FUZZY_MAX 2 gfp_mask 10240
BIT_INFO 1 nr_vecs 0x0,0x7fffffff
BIT_INFO 2 gfp_mask 0x800,0x3fff
NOSPEC 0 rq->__data_len
NOSPEC 0 rq->biotail->bi_iter.bi_size
HARD_MAX 2 gfp_mask 10240
RX_PATH
TASK_NOT_RUNNING
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]
USER_DATA 1 nr_vecs 1-524289[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.io_min
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.physical_block_size
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-map.c blk_rq_map_user_bvec() -> blk_rq_map_bio_alloc()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->__data_len 0
PARAM_VALUE 0 rq->__sector u64max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->biotail 0
PARAM_VALUE 0 rq->mq_hctx->type 0-2
PARAM_VALUE 0 rq->phys_gap_bit 0
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->elevator->type->icq_align 0,8
PARAM_VALUE 0 rq->queuelist.next->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev->prev 4096-ptr_max
PARAM_VALUE 1 nr_vecs 0
PARAM_VALUE 2 gfp_mask 3264
BUF_SIZE 0 rq->end_io_data (-1),5504
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
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.io_min
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.physical_block_size
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