Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/block/ublk_drv.c __ublk_check_and_get_req() -> ublk_put_req_ref()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 0 io->ref.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 req 4096-ptr_max
DATA_SOURCE 0 io $3
DATA_SOURCE 1 req r blk_mq_tag_to_rq
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/block/ublk_drv.c ublk_io_release() -> ublk_put_req_ref()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->mq_hctx 4096-ptr_max
BUF_SIZE 1 req 1-s32max
BUF_SIZE 1 req 1-s32max
DATA_SOURCE 1 req $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->uring_lock

drivers/block/ublk_drv.c ublk_register_io_buf() -> ublk_put_req_ref()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 0 io->ref.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->__data_len 1-u32max
PARAM_VALUE 1 req->state 1-u32max
PARAM_VALUE 1 req->tag 0-65534
CAPPED_DATA 1 req->tag 1
DATA_SOURCE 0 io $4
DATA_SOURCE 1 req r __ublk_check_and_get_req
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->uring_lock

drivers/block/ublk_drv.c ublk_user_copy() -> ublk_put_req_ref()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 0 io->ref.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 req 4096-ptr_max
PARAM_VALUE 1 req->__data_len 1-u32max
PARAM_VALUE 1 req->state 1-u32max
PARAM_VALUE 1 req->tag 0-65534
CAPPED_DATA 1 req->tag 1
DATA_SOURCE 1 req r __ublk_check_and_get_req
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 req->tag 1-65534[c]
HALF_LOCKED2 &pool->lock