Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/nvdimm/nd_virtio.c virtio_pmem_drain() -> virtio_pmem_complete_err()

Type Parameter Key Value
PARAM_VALUE 0 req 1-u64max
CAPPED_DATA 0 req 1
DATA_SOURCE 0 req r virtqueue_get_buf
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 req->done 0-1
HOST_DATA 0 req->kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 req->req.type 0-u32max
HOST_DATA 0 req->resp.ret 0-u32max
HOST_DATA 0 req->wq_buf_avail 0-1
LOCK2 &vpmem->pmem_lock
LOCK2 flags
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_pmem)->pmem_lock

drivers/nvdimm/nd_virtio.c virtio_pmem_drain() -> virtio_pmem_complete_err()

Type Parameter Key Value
PARAM_VALUE 0 req 1-u64max
CAPPED_DATA 0 req 1
DATA_SOURCE 0 req r virtqueue_detach_unused_buf
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vpmem->pmem_lock
LOCK2 flags
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_pmem)->pmem_lock

drivers/nvdimm/nd_virtio.c virtio_pmem_host_ack() -> virtio_pmem_complete_err()

Type Parameter Key Value
PARAM_VALUE 0 req 1-u64max
CAPPED_DATA 0 req 1
DATA_SOURCE 0 req r virtqueue_get_buf
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 req->done 0-1
HOST_DATA 0 req->kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 req->req.type 0-u32max
HOST_DATA 0 req->resp.ret 0-u32max
HOST_DATA 0 req->wq_buf_avail 0-1
LOCK2 &vpmem->pmem_lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 &vp_dev->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct virtio_pmem)->pmem_lock