Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- block/blk-map.c, line 603
- drivers/nvme/host/ioctl.c, line 141
- drivers/scsi/scsi_ioctl.c, line 475
- drivers/scsi/sg.c, line 1802
Smatch caller information:
drivers/scsi/sg.c sg_start_req() -> blk_rq_map_user_io()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | req | 4096-ptr_max |
| PARAM_VALUE | 0 | req->__data_len | 0 |
| PARAM_VALUE | 0 | req->__sector | u64max |
| PARAM_VALUE | 0 | req->bio | 0 |
| PARAM_VALUE | 0 | req->biotail | 0 |
| PARAM_VALUE | 0 | req->end_io_data | 4096-ptr_max |
| PARAM_VALUE | 0 | req->mq_hctx->type | 0-2 |
| PARAM_VALUE | 0 | req->phys_gap_bit | 0 |
| PARAM_VALUE | 0 | req->q | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | map_data | 0,1526674389281034240 |
| PARAM_VALUE | 1 | map_data->offset | 0 |
| PARAM_VALUE | 1 | map_data->page_order | 0-32 |
| PARAM_VALUE | 1 | map_data->pages | 0,16,4096-ptr_max |
| PARAM_VALUE | 3 | buf_len | 1-268435455 |
| PARAM_VALUE | 4 | gfp_mask | 3264 |
| PARAM_VALUE | 6 | iov_count | 0-u16max |
| PARAM_VALUE | 7 | check_iter_count | 1 |
| PARAM_VALUE | 8 | rw | 0-1 |
| BUF_SIZE | 0 | req->end_io_data | 5504 |
| BUF_SIZE | 1 | map_data | 0,24 |
| BUF_SIZE | 1 | map_data | 0,24 |
| BUF_SIZE | 1 | map_data->pages | s32min-(-1),1-s32max |
| DATA_SOURCE | 0 | req | r scsi_alloc_request |
| FUZZY_MAX | 8 | rw | 1 |
| BIT_INFO | 1 | map_data | 0x0,0x152fd644b4c85000 |
| BIT_INFO | 1 | map_data | 0x0,0x152fd644b4c85000 |
| HARD_MAX | 8 | rw | 1 |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->q_usage_counter.percpu_count_ptr | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->q_usage_counter.percpu_count_ptr | |
| UNITS | 2 | ubuf | unit_byte |
| UNITS | 3 | buf_len | unit_byte |
drivers/nvme/host/ioctl.c nvme_map_user_request() -> blk_rq_map_user_io()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | req | 4096-ptr_max |
| PARAM_VALUE | 0 | req->__data_len | 0 |
| PARAM_VALUE | 0 | req->__sector | u64max |
| PARAM_VALUE | 0 | req->bio | 0 |
| PARAM_VALUE | 0 | req->biotail | 0 |
| PARAM_VALUE | 0 | req->cmd_flags | 0,1024-u32max |
| PARAM_VALUE | 0 | req->mq_hctx | 4096-ptr_max |
| PARAM_VALUE | 0 | req->mq_hctx->type | 0-2 |
| PARAM_VALUE | 0 | req->phys_gap_bit | 0 |
| PARAM_VALUE | 0 | req->q | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | req->rq_flags | 0,8-u32max |
| PARAM_VALUE | 0 | req->timeout | 0-536870912,4294967294 |
| PARAM_VALUE | 1 | map_data | 0 |
| PARAM_VALUE | 3 | buf_len | 1-u32max |
| PARAM_VALUE | 4 | gfp_mask | 3264 |
| PARAM_VALUE | 6 | iov_count | 0 |
| PARAM_VALUE | 7 | check_iter_count | 0 |
| PARAM_VALUE | 8 | rw | 0-1 |
| DATA_SOURCE | 0 | req | $0 |
| DATA_SOURCE | 3 | buf_len | $2 |
| FUZZY_MAX | 8 | rw | 1 |
| HARD_MAX | 8 | rw | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 3 | buf_len | 1-u32max |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->q_usage_counter.percpu_count_ptr | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->q_usage_counter.percpu_count_ptr |
drivers/scsi/scsi_ioctl.c sg_io() -> blk_rq_map_user_io()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | req | 4096-ptr_max |
| PARAM_VALUE | 0 | req->__data_len | 0 |
| PARAM_VALUE | 0 | req->__sector | u64max |
| PARAM_VALUE | 0 | req->bio | 0 |
| PARAM_VALUE | 0 | req->biotail | 0 |
| PARAM_VALUE | 0 | req->mq_hctx->type | 0-2 |
| PARAM_VALUE | 0 | req->phys_gap_bit | 0 |
| PARAM_VALUE | 0 | req->q | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | req->queuelist.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | req->timeout | 1750-u32max |
| PARAM_VALUE | 1 | map_data | 0 |
| PARAM_VALUE | 3 | buf_len | 0-4294966784 |
| PARAM_VALUE | 4 | gfp_mask | 3264 |
| PARAM_VALUE | 7 | check_iter_count | 0 |
| PARAM_VALUE | 8 | rw | 0-1 |
| CAPPED_DATA | 3 | buf_len | 1 |
| DATA_SOURCE | 0 | req | r scsi_alloc_request |
| FUZZY_MAX | 8 | rw | 1 |
| HARD_MAX | 8 | rw | 1 |
| USER_DATA | 3 | buf_len | 0-s32max[c] |
| USER_DATA | 5 | vec | 0-1 |
| USER_DATA | 6 | iov_count | 0-u16max |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | req->elv.icq->q->q_usage_counter.percpu_count_ptr | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | req->q->q_usage_counter.percpu_count_ptr | |
| UNITS | 2 | ubuf | unit_byte |
| HALF_LOCKED2 | &cd->lock |