Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
- drivers/nvme/host/core.c
- drivers/nvme/host/ioctl.c, line 189
- drivers/nvme/target/passthru.c, line 224
Smatch caller information:
drivers/nvme/host/core.c __nvme_submit_sync_cmd() -> nvme_execute_rq()
| 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->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->part | 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 |
| CAPPED_DATA | 0 | rq->q | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | rq->__data_len | 0-1000000000 |
| 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] |
| 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 | &dev->dev_lock |
drivers/nvme/host/ioctl.c nvme_submit_user_cmd() -> nvme_execute_rq()
| 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->bio->bi_integrity | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->bio->bi_opf | 0,65536-u32max |
| PARAM_VALUE | 0 | rq->biotail | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rq->biotail->bi_crypt_context | 0 |
| PARAM_VALUE | 0 | rq->cmd_flags | 0,1024-u32max |
| PARAM_VALUE | 0 | rq->mq_hctx | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->mq_hctx->type | 0-2 |
| 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->rq_flags | 0,8-u32max |
| PARAM_VALUE | 0 | rq->timeout | 0-536870912,4294967294 |
| PARAM_VALUE | 1 | at_head | 0 |
| CAPPED_DATA | 0 | rq | 1 |
| DATA_SOURCE | 0 | rq | r nvme_alloc_user_request |
| NOSPEC | 0 | rq->__data_len | |
| NOSPEC | 0 | rq->biotail->bi_iter.bi_size | |
| USER_DATA | 0 | rq->__data_len | 0-1000000000 |
| USER_DATA | 0 | rq->biotail->bi_iter.bi_bvec_done | 0-4294967295[c] |
| 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_iter.bi_bvec_done | 0-4294967295[c] |
| USER_DATA | 0 | rq->biotail->bi_next->bi_max_vecs | 0-4,16,64,128,256[c] |
| NO_OVERFLOW_SIMPLE | 0 | rq->bio->bi_iter.bi_sector | |
| 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 |
drivers/nvme/target/passthru.c nvmet_passthru_execute_cmd_work() -> nvme_execute_rq()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->q | 4096-ptr_max |
| PARAM_VALUE | 1 | at_head | 0 |
| HALF_LOCKED2 | &pool->lock |