Documented in 1 files:
Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
block/blk-flush.c blk_insert_flush() -> blk_flush_complete_seq()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->bio | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->biotail | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->biotail->bi_bdev | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->cmd_flags | 0,2048-u32max |
| PARAM_VALUE | 0 | rq->end_io | 6297943635729588224 |
| PARAM_VALUE | 0 | rq->flush.seq | 0 |
| PARAM_VALUE | 0 | rq->mq_ctx | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->mq_hctx->type | 0-2 |
| PARAM_VALUE | 0 | rq->part | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->q | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->rq_flags | 0,2-u32max |
| PARAM_VALUE | 0 | *rq->crypt_ctx->bc_key->bytes | 0-255 |
| PARAM_VALUE | 1 | fq | 4096-ptr_max |
| PARAM_VALUE | 1 | fq->mq_flush_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 2 | seq | 0-7 |
| PARAM_VALUE | 3 | error | 0 |
| CAPPED_DATA | 0 | rq | 1 |
| CAPPED_DATA | 0 | rq->bio | 1 |
| CAPPED_DATA | 0 | rq->biotail | 1 |
| CAPPED_DATA | 0 | rq->q | 1 |
| CAPPED_DATA | 2 | seq | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | fq | r blk_get_flush_queue |
| BIT_INFO | 0 | rq->cmd_flags | 0x800,0xffffffffffffffff |
| NOSPEC | 0 | rq->__data_len | |
| NOSPEC | 0 | rq->__sector | |
| NOSPEC | 0 | rq->biotail->bi_iter.bi_sector | |
| NOSPEC | 0 | rq->biotail->bi_iter.bi_size | |
| NOSPEC | 0 | rq->biotail->bi_next->bi_iter.bi_sector | |
| NOSPEC | 0 | rq->biotail->bi_next->bi_iter.bi_size | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | rq->__data_len | 0-u32max[c] |
| HOST_DATA | 0 | rq->__sector | 0-u64max |
| HOST_DATA | 0 | rq->biotail->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | rq->biotail->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | rq->biotail->bi_max_vecs | 0-u16max[c] |
| HOST_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | rq->biotail->bi_next->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 0 | rq->__data_len | 0-u32max |
| USER_DATA | 0 | rq->__sector | 0-u64max |
| USER_DATA | 0 | rq->biotail->bi_ioprio | 0-u16max |
| USER_DATA | 0 | rq->biotail->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | rq->biotail->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | rq->biotail->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | rq->biotail->bi_next->bi_ioprio | 0-u16max |
| USER_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | rq->biotail->bi_next->bi_max_vecs | 0-u16max[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 | |
| LOCK2 | irq | ||
| LOCK2 | 1 | &fq->mq_flush_lock | |
| TYPE_LOCK | (struct blk_flush_queue)->mq_flush_lock |
block/blk-flush.c flush_end_io() -> blk_flush_complete_seq()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | fq | 4096-ptr_max |
| PARAM_VALUE | 1 | fq->flush_queue | 4096-ptr_max |
| PARAM_VALUE | 1 | fq->rq_status | 0 |
| PARAM_VALUE | 2 | seq | 1,4 |
| CAPPED_DATA | 0 | &rq->queuelist | 1 |
| DATA_SOURCE | 1 | fq | r blk_get_flush_queue |
| DATA_SOURCE | 2 | seq | r blk_flush_cur_seq |
| DATA_SOURCE | 3 | error | $1 [m] |
| BIT_INFO | 2 | seq | 0x0,0x5 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 1 | &fq->mq_flush_lock | |
| TYPE_LOCK | (struct blk_flush_queue)->mq_flush_lock |
block/blk-flush.c mq_flush_data_end_io() -> blk_flush_complete_seq()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->end_io | 1-u64max |
| PARAM_VALUE | 0 | rq->mq_ctx | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->q | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->q->elevator->type->elevator_attrs | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->q->elevator->type->elevator_name | 4096-ptr_max |
| PARAM_VALUE | 0 | rq->q->elevator->type->icq_align | 0,8 |
| 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 | 1 | fq | 4096-ptr_max |
| PARAM_VALUE | 2 | seq | 2 |
| BUF_SIZE | 0 | rq | (-1)-s32max |
| BUF_SIZE | 0 | rq | (-1)-s32max |
| CAPPED_DATA | 0 | rq | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | fq | r blk_get_flush_queue |
| DATA_SOURCE | 3 | error | $1 |
| NOSPEC | 0 | rq->__data_len | |
| NOSPEC | 0 | rq->__sector | |
| NOSPEC | 0 | rq->bio->bi_iter.bi_sector | |
| NOSPEC | 0 | rq->bio->bi_iter.bi_size | |
| NOSPEC | 0 | rq->biotail->bi_iter.bi_sector | |
| NOSPEC | 0 | rq->biotail->bi_iter.bi_size | |
| NOSPEC | 0 | rq->biotail->bi_next->bi_iter.bi_sector | |
| NOSPEC | 0 | rq->biotail->bi_next->bi_iter.bi_size | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | rq->__data_len | 0-u32max[c] |
| HOST_DATA | 0 | rq->__sector | 0-u64max |
| HOST_DATA | 0 | rq->bio->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | rq->bio->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | rq->bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| HOST_DATA | 0 | rq->biotail->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | rq->biotail->bi_iter.bi_size | 0-u32max[c] |
| HOST_DATA | 0 | rq->biotail->bi_max_vecs | 0-u16max[c] |
| HOST_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_sector | 0-u64max |
| HOST_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_size | 1024-4294966272[c] |
| USER_DATA | 0 | rq->__data_len | 0-u32max |
| USER_DATA | 0 | rq->__sector | 0-u64max |
| USER_DATA | 0 | rq->bio->bi_ioprio | 0-u16max |
| USER_DATA | 0 | rq->bio->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | rq->bio->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | rq->bio->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | rq->biotail->bi_ioprio | 0-u16max |
| USER_DATA | 0 | rq->biotail->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | rq->biotail->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | rq->biotail->bi_max_vecs | 0-u16max[c] |
| USER_DATA | 0 | rq->biotail->bi_next->bi_ioprio | 0-u16max |
| USER_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_sector | 0-u64max |
| USER_DATA | 0 | rq->biotail->bi_next->bi_iter.bi_size | 0-u32max |
| USER_DATA | 0 | rq->biotail->bi_next->bi_max_vecs | 0-256[c] |
| USER_DATA | 0 | rq->tag | 1-65534[c] |
| NO_OVERFLOW_SIMPLE | 0 | rq->bio->bi_iter.bi_sector | |
| NO_OVERFLOW_SIMPLE | 0 | rq->bio->bi_max_vecs | |
| NO_OVERFLOW_SIMPLE | 0 | rq->elv.icq->ioc | |
| 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.io_min | |
| NO_OVERFLOW_SIMPLE | 0 | rq->elv.icq->q->limits.logical_block_size | |
| 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.physical_block_size | |
| 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.io_min | |
| NO_OVERFLOW_SIMPLE | 0 | rq->q->limits.logical_block_size | |
| 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.physical_block_size | |
| 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 | flags | ||
| LOCK2 | 1 | &fq->mq_flush_lock | |
| TYPE_LOCK | (struct blk_flush_queue)->mq_flush_lock |