Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

block/blk-mq.c __blk_mq_end_request() -> (struct request)->end_io()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
PARAM_VALUE 0 req->elv.icq 0
PARAM_VALUE 0 req->end_io 1-u64max
PARAM_VALUE 0 req->q 4096-ptr_max
PARAM_VALUE 0 req->q->disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 req->q->disk->zone_wplugs_worker_bio_done.wait.lock.owner (-1)
PARAM_VALUE 0 req->q->disk->zone_wplugs_worker_bio_done.wait.lock.owner_cpu u32max
PARAM_VALUE 0 req->q->elevator->type->elevator_attrs 4096-ptr_max
PARAM_VALUE 0 req->q->elevator->type->elevator_name 4096-ptr_max
PARAM_VALUE 0 req->q->elevator->type->icq_align 0,8
PARAM_VALUE 0 req->wbt_flags 0
PARAM_VALUE 2 iob 0
BUF_SIZE 0 req (-1)-s32max
BUF_SIZE 0 req (-1)-s32max
CAPPED_DATA 0 req 1
DATA_SOURCE 0 req $0
DATA_SOURCE 1 err $1
CONTAINER 0 -256+0 $(-1)
NOSPEC 0 req->__data_len
NOSPEC 0 req->__sector
NOSPEC 0 req->bio->bi_iter.bi_sector
NOSPEC 0 req->bio->bi_iter.bi_size
NOSPEC 0 req->biotail->bi_iter.bi_sector
NOSPEC 0 req->biotail->bi_iter.bi_size
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_sector
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 req->__data_len 0-u32max[c]
HOST_DATA 0 req->__sector 0-u64max
HOST_DATA 0 req->bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->bio->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 req->bio->bi_max_vecs 0-u16max[c]
HOST_DATA 0 req->biotail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->biotail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 req->biotail->bi_max_vecs 0-u16max[c]
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_size 1024-4294966272[c]
USER_DATA 0 req->__data_len 0-u32max
USER_DATA 0 req->__sector 0-u64max
USER_DATA 0 req->bio->bi_ioprio 0-u16max
USER_DATA 0 req->bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->bio->bi_iter.bi_size 0-u32max
USER_DATA 0 req->bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 req->biotail->bi_ioprio 0-u16max
USER_DATA 0 req->biotail->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->biotail->bi_iter.bi_size 0-u32max
USER_DATA 0 req->biotail->bi_max_vecs 0-u16max[c]
USER_DATA 0 req->biotail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 req->biotail->bi_next->bi_max_vecs 0-1024[c]
USER_DATA 0 req->tag 1-65534[c]
NO_OVERFLOW_SIMPLE 0 req->bio->bi_max_vecs
NO_OVERFLOW_SIMPLE 0 req->elv.icq->ioc
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.io_min
NO_OVERFLOW_SIMPLE 0 req->elv.icq->q->limits.logical_block_size
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.physical_block_size
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.io_min
NO_OVERFLOW_SIMPLE 0 req->q->limits.logical_block_size
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.physical_block_size
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
HALF_LOCKED2 &msb->q_lock

block/blk-mq.c blk_mq_end_request_batch() -> (struct request)->end_io()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
PARAM_VALUE 0 req->end_io 1-u64max
PARAM_VALUE 0 req->q 4096-ptr_max
PARAM_VALUE 0 req->q->disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 req->q->disk->zone_wplugs_worker_bio_done.wait.lock.owner (-1)
PARAM_VALUE 0 req->q->disk->zone_wplugs_worker_bio_done.wait.lock.owner_cpu u32max
PARAM_VALUE 0 req->rq_next 0
PARAM_VALUE 1 err 0
PARAM_VALUE 2 iob 1532471094420901888,2352053894491561984,3359558952113623040,8088633397063266304
PARAM_VALUE 2 iob->poll_ctx 0,4096-ptr_max
PARAM_VALUE 2 iob->req_list.head->rq_next 0
BUF_SIZE 2 iob->poll_ctx s32min-(-1),1-s32max
CAPPED_DATA 0 req 1
DATA_SOURCE 0 req r rq_list_pop
DATA_SOURCE 2 iob $0
CONTAINER 0 -256+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock

block/blk-mq.c blk_mq_put_rq_ref() -> (struct request)->end_io()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
PARAM_VALUE 0 req->end_io 4096-ptr_max
PARAM_VALUE 0 req->ref.counter 0-s32max
PARAM_VALUE 1 err 0
PARAM_VALUE 2 iob 0
CAPPED_DATA 0 req->tag 1
DATA_SOURCE 0 req $0
CONTAINER 0 -256+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock