Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 12 files:

Smatch caller information:

drivers/block/floppy.c floppy_end_request() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->disk 4096-ptr_max
PARAM_VALUE 1 error 0,10
DATA_SOURCE 0 rq $0
DATA_SOURCE 1 error $1
HARD_MAX 1 error 10
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

block/blk-mq.c blk_mq_end_request() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
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
BUF_SIZE 0 rq (-1),1-s32max
BUF_SIZE 0 rq (-1),1-s32max
DATA_SOURCE 0 rq $0
DATA_SOURCE 1 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
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-u16max[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 0,512-4294966784[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->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-u16max[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
HALF_LOCKED2 &fq->mq_flush_lock
HALF_LOCKED2 bh

drivers/mmc/core/block.c mmc_blk_cqe_complete_rq() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 1 error 0
DATA_SOURCE 0 rq $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/mmc/core/block.c mmc_blk_mq_complete_rq() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 1 error 0
DATA_SOURCE 0 rq $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/mmc/core/block.c mmc_blk_mq_complete_rq() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->__data_len 0
PARAM_VALUE 1 error 10
DATA_SOURCE 0 rq $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/scsi_lib.c scsi_complete() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 1 error 0,3-7,10,17
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/scsi/scsi_lib.c scsi_end_request() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 1 error 0,3-8,10,14,17
DATA_SOURCE 0 rq $0
DATA_SOURCE 1 error $1
FUZZY_MAX 1 error 14
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/memstick/core/mspro_block.c mspro_block_complete_req() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 1 error 0-19
BIT_INFO 1 error 0x0,0x1f
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &msb->q_lock
LOCK2 flags
HALF_LOCKED2 &dev->io_thread_lock
HALF_LOCKED2 &fm->lock
HALF_LOCKED2 &host->host_mutex
HALF_LOCKED2 &host->lock
HALF_LOCKED2 &sock->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct mspro_block_data)->q_lock

drivers/memstick/core/mspro_block.c mspro_block_issue_req() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 1 error 9
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &msb->q_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mspro_block_data)->q_lock

drivers/memstick/core/ms_block.c msb_io_work() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 1 error 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/block/ublk_drv.c __ublk_complete_rq() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 0 rq->mq_hctx 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx->driver_data 4096-ptr_max
PARAM_VALUE 1 error 0
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->uring_lock

drivers/mtd/mtd_blkdevs.c mtd_blktrans_work() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 0 rq->mq_hctx 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx->tags 4096-ptr_max
PARAM_VALUE 0 rq->mq_hctx->tags->rqs 4096-ptr_max
PARAM_VALUE 0 rq->q 4096-ptr_max
PARAM_VALUE 0 rq->q->timeout.entry->pprev 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.next->prev 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->state 1
PARAM_VALUE 1 error 0,10
DATA_SOURCE 1 error r do_blktrans_request
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/block/aoe/aoecmd.c aoe_end_request() -> __blk_mq_end_request()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->__data_len 0
PARAM_VALUE 0 rq->bio 0
PARAM_VALUE 0 rq->bio->bi_bdev->bd_disk->zone_wplugs_worker_bio_done.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 rq->bio->bi_iter.bi_bvec_done 0-4294967294
PARAM_VALUE 0 rq->crypt_keyslot 0-1
PARAM_VALUE 1 error 0,10
DATA_SOURCE 0 rq $1
FUZZY_MAX 1 error 10
BIT_INFO 1 error 0x0,0xa
HARD_MAX 1 error 10
PREEMPT_ADD
NOCHECK_CALL