Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
drivers/nvme/host/ioctl.c nvme_submit_user_cmd() -> nvme_map_user_request()
| 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 | ubuffer | 1-u64max |
| PARAM_VALUE | 2 | bufflen | 1-u32max |
| PARAM_VALUE | 5 | iter | 0 |
| PARAM_VALUE | 6 | flags | 0-3 |
| DATA_SOURCE | 0 | req | r nvme_alloc_user_request |
| DATA_SOURCE | 1 | ubuffer | $2 |
| DATA_SOURCE | 2 | bufflen | $3 |
| DATA_SOURCE | 3 | meta_buffer | $4 |
| DATA_SOURCE | 4 | meta_len | $5 |
| DATA_SOURCE | 6 | flags | $8 |
| USER_DATA | 1 | ubuffer | 1-u64max |
| USER_DATA | 2 | bufflen | 1-u32max |
| USER_DATA | 4 | meta_len | 0-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/nvme/host/ioctl.c nvme_uring_cmd_io() -> nvme_map_user_request()
| 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 | 2 | bufflen | 1-u32max |
| PARAM_VALUE | 5 | iter | 0,1619417322542931968 |
| PARAM_VALUE | 6 | flags | 0-1 |
| BUF_SIZE | 5 | iter | 0,40 |
| BUF_SIZE | 5 | iter | 0,40 |
| DATA_SOURCE | 0 | req | r nvme_alloc_user_request |
| FUZZY_MAX | 0 | req->timeout | 0 |
| FUZZY_MAX | 6 | flags | 1 |
| BIT_INFO | 5 | iter | 0x0,0x167953798d492000 |
| BIT_INFO | 5 | iter | 0x0,0x167953798d492000 |
| HARD_MAX | 6 | flags | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| 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 | |
| NO_OVERFLOW_SIMPLE | 1 | ubuffer | |
| NO_OVERFLOW_SIMPLE | 2 | bufflen | |
| HALF_LOCKED2 | &ctx->uring_lock |