Defined in 1 files as a function:
Referenced in 6 files:
- block/blk-mq.c
- drivers/block/null_blk/main.c, line 1719
- drivers/block/ublk_drv.c
- drivers/block/virtio_blk.c
- drivers/nvme/host/pci.c
- include/linux/blk-mq.h, line 922
Smatch caller information:
block/blk-mq.c blk_add_rq_to_plug() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| CAPPED_DATA | 1 | rq | 1 |
| CAPPED_DATA | 1 | rq->bio | 1 |
| CAPPED_DATA | 1 | rq->biotail | 1 |
| CAPPED_DATA | 1 | rq->q | 1 |
| DATA_SOURCE | 1 | rq | $1 |
| STR_LEN | 1 | rq->end_io_data | (-1) |
| NOSPEC | 1 | rq->__data_len | |
| NOSPEC | 1 | rq->__sector | |
| NOSPEC | 1 | rq->biotail->bi_iter.bi_sector | |
| NOSPEC | 1 | rq->biotail->bi_iter.bi_size | |
| NOSPEC | 1 | rq->biotail->bi_next->bi_iter.bi_sector | |
| NOSPEC | 1 | rq->biotail->bi_next->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | rq->__data_len | 0-u32max[c] |
| HOST_DATA | 1 | rq->__sector | 0-u64max |
| HOST_DATA | 1 | rq->biotail->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 1 | rq->biotail->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 1 | rq->biotail->bi_max_vecs | 0-u16max[c] |
| HOST_DATA | 1 | rq->biotail->bi_next->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 1 | rq->biotail->bi_next->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 1 | rq->biotail->bi_next->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 1 | rq->__data_len | 0-u32max |
| USER_DATA | 1 | rq->__sector | 0-u64max |
| USER_DATA | 1 | rq->biotail->bi_ioprio | 0-u16max |
| USER_DATA | 1 | rq->biotail->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 1 | rq->biotail->bi_iter.bi_size | 0-u32max |
| USER_DATA | 1 | rq->biotail->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 1 | rq->biotail->bi_next->bi_ioprio | 0-u16max |
| USER_DATA | 1 | rq->biotail->bi_next->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 1 | rq->biotail->bi_next->bi_iter.bi_size | 0-u32max |
| USER_DATA | 1 | rq->biotail->bi_next->bi_max_vecs | 0-u16max[c] |
| NO_OVERFLOW_SIMPLE | 1 | rq->bio->bi_iter.bi_sector | |
| NO_OVERFLOW_SIMPLE | 1 | rq->bio->bi_max_vecs | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->limits.physical_block_size | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 1 | rq->elv.icq->q->q_usage_counter.percpu_count_ptr | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->async_depth | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 1 | rq->q->q_usage_counter.percpu_count_ptr |
block/blk-mq.c blk_mq_dispatch_list() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 1062787859405033472 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
block/blk-mq.c blk_mq_extract_queue_requests() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 2337236914035617792 |
| PARAM_VALUE | 0 | rl->head | 0 |
| PARAM_VALUE | 0 | rl->tail | 0 |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
block/blk-mq.c blk_mq_extract_queue_requests() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 2337236914035617792 |
| PARAM_VALUE | 0 | rl->head | 4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| CAPPED_DATA | 1 | rq->q | 1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/nvme/host/pci.c blk_mq_add_to_batch() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| DATA_SOURCE | 1 | rq | $0 |
| BIT_INFO | 1 | rq->rq_flags | 0x0,0xffffffef |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &nvmeq->cq_poll_lock |
drivers/nvme/host/pci.c nvme_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 7176388596816236544 |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/nvme/host/pci.c nvme_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 8967826039963750400 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/block/ublk_drv.c blk_mq_add_to_batch() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 3359558952113623040 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| DATA_SOURCE | 1 | rq | $0 |
| BIT_INFO | 1 | rq->rq_flags | 0x0,0xffffffef |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &ctx->uring_lock |
drivers/block/ublk_drv.c ublk_batch_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 971211092201979904 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/block/ublk_drv.c ublk_batch_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 7319464189576245248 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/block/ublk_drv.c ublk_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 8883750900380069888 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/block/ublk_drv.c ublk_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 1700768280132829184 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/block/null_blk/main.c blk_mq_add_to_batch() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| DATA_SOURCE | 1 | rq | $0 |
| BIT_INFO | 1 | rq->rq_flags | 0x0,0xffffffef |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &ctx->uring_lock |
drivers/block/null_blk/main.c null_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 6752731020276736000 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/nvme/host/apple.c blk_mq_add_to_batch() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| DATA_SOURCE | 1 | rq | $0 |
| BIT_INFO | 1 | rq->rq_flags | 0x0,0xffffffef |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &anv->lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct apple_nvme)->lock |
drivers/block/virtio_blk.c blk_mq_add_to_batch() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| DATA_SOURCE | 1 | rq | $0 |
| BIT_INFO | 1 | rq->rq_flags | 0x0,0xffffffef |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &vq->lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &ctx->uring_lock | ||
| TYPE_LOCK | (struct virtio_blk_vq)->lock |
drivers/block/virtio_blk.c virtio_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 6344094897700220928 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
drivers/block/virtio_blk.c virtio_queue_rqs() -> rq_list_add_tail()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rl | 3911789036008480768 |
| PARAM_VALUE | 0 | rl->head | 0,4096-ptr_max |
| PARAM_VALUE | 0 | rl->tail | 0,4096-ptr_max |
| PARAM_VALUE | 1 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | rq->rq_next | 0 |
| DATA_SOURCE | 1 | rq | r rq_list_pop |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |