Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/scsi/scsi_lib.c scsi_execute_cmd() -> blk_rq_map_kern()

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->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 len 1-u32max
PARAM_VALUE 3 gfp_mask 3072
BUF_SIZE 1 kbuf s32min-s32max
DATA_SOURCE 0 rq r scsi_alloc_request
DATA_SOURCE 1 kbuf $3
DATA_SOURCE 2 len $4
FUZZY_MAX 2 len 4096
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 2 len 9-176400[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
UNITS 2 len unit_byte
HALF_LOCKED2 &(&starget->starget_data)->dv_mutex
HALF_LOCKED2 &ch->lock
HALF_LOCKED2 &dev->dev_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sdkp->disk->queue->limits_lock
HALF_LOCKED2 &shost->scan_mutex
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 sh->host_lock

drivers/nvme/host/core.c __nvme_submit_sync_cmd() -> blk_rq_map_kern()

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->crypt_ctx 0
PARAM_VALUE 0 rq->crypt_keyslot 0
PARAM_VALUE 0 rq->deadline 0
PARAM_VALUE 0 rq->end_io 0
PARAM_VALUE 0 rq->end_io_data 0
PARAM_VALUE 0 rq->io_start_time_ns 0
PARAM_VALUE 0 rq->mq_hctx 4096-ptr_max
PARAM_VALUE 0 rq->nr_integrity_segments 0
PARAM_VALUE 0 rq->nr_phys_segments 0
PARAM_VALUE 0 rq->part 0
PARAM_VALUE 0 rq->phys_gap_bit 0
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.next->next 4096-ptr_max
PARAM_VALUE 0 rq->queuelist.prev 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 0 rq->ref.counter 1
PARAM_VALUE 0 rq->rq_flags 0,8-u32max
PARAM_VALUE 0 rq->stats_sectors 0
PARAM_VALUE 0 rq->timeout 0
PARAM_VALUE 1 kbuf 1-u64max
PARAM_VALUE 2 len 1-u32max
PARAM_VALUE 3 gfp_mask 3264
BUF_SIZE 1 kbuf (-1)-s32max
BUF_SIZE 1 kbuf (-1)-s32max
CAPPED_DATA 0 rq->q 1
DATA_SOURCE 1 kbuf $3
DATA_SOURCE 2 len $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 128-268431359[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
UNITS 2 len unit_byte
BYTE_COUNT 1 ==kbuf2 8050
HALF_LOCKED2 &dev->dev_lock

drivers/block/ublk_drv.c ublk_report_zones() -> blk_rq_map_kern()

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->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 kbuf 16,4096-ptr_max
PARAM_VALUE 2 len 64-4294966784
PARAM_VALUE 3 gfp_mask 3264
BUF_SIZE 1 kbuf 64-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 0 rq r blk_mq_alloc_request
DATA_SOURCE 1 kbuf r ublk_alloc_report_buffer
NOSPEC 2 len
NOSPEC 2 len
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 64-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.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 &pool->lock

drivers/scsi/scsi_ioctl.c sg_scsi_ioctl() -> blk_rq_map_kern()

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->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 0 rq->timeout 15000,75000,1800000
PARAM_VALUE 1 kbuf 4096-ptr_max
PARAM_VALUE 2 len 1-4096
PARAM_VALUE 3 gfp_mask 3072
BUF_SIZE 1 kbuf 1-4096
DATA_SOURCE 0 rq r scsi_alloc_request
DATA_SOURCE 1 kbuf r _kzalloc_noprof
FUZZY_MAX 0 rq->timeout 1800000
BIT_INFO 0 rq->timeout 0x2000,0x1b7ff8
HARD_MAX 0 rq->timeout 1800000
USER_DATA 2 len 1-4096
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
UNITS 2 len unit_byte
BYTE_COUNT 1 ==kbuf2 8050
USER_PTR 1 kbuf
HALF_LOCKED2 &cd->lock

drivers/block/virtio_blk.c virtblk_get_id() -> blk_rq_map_kern()

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->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 kbuf 4096-ptr_max
PARAM_VALUE 2 len 20
PARAM_VALUE 3 gfp_mask 3264
DATA_SOURCE 0 rq r blk_mq_alloc_request
DATA_SOURCE 1 kbuf $1
TERMINATED 1 kbuf 1
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.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
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/block/virtio_blk.c virtblk_submit_zone_report() -> blk_rq_map_kern()

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->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 kbuf 1-u64max
PARAM_VALUE 2 len 64-268431360
PARAM_VALUE 3 gfp_mask 3264
BUF_SIZE 1 kbuf 64-268431360
DATA_SOURCE 0 rq r blk_mq_alloc_request
DATA_SOURCE 1 kbuf $1
DATA_SOURCE 2 len $2
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 64-268431359[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
UNITS 2 len unit_byte
LOCK2 &vblk->vdev_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct virtio_blk)->vdev_mutex