Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/nvdimm/virtio_pmem.c virtio_pmem_freeze() -> virtio_pmem_drain()

Type Parameter Key Value
PARAM_VALUE 0 vpmem 4096-ptr_max
PARAM_VALUE 0 vpmem->broken 1
PARAM_VALUE 0 vpmem->flush_wq 4096-ptr_max
PARAM_VALUE 0 vpmem->flush_wq->flags 0-4294967295
PARAM_VALUE 0 vpmem->flush_wq->flush_color s32min-s32max
PARAM_VALUE 0 vpmem->flush_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 vpmem->flush_wq->nr_pwqs_to_flush.counter s32min-s32max
PARAM_VALUE 0 vpmem->flush_wq->work_color s32min-s32max
PARAM_VALUE 0 vpmem->pmem_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vpmem->req_inflight 0,4096-ptr_max
PARAM_VALUE 0 *vpmem->flush_wq->lockdep_map->name 0-255
BUF_SIZE 0 vpmem s32min-(-2),1-s32max
BUF_SIZE 0 vpmem s32min-(-2),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 vpmem unit_byte
LOCK2 flags
LOCK2 0 &vpmem->pmem_lock
TYPE_LOCK (struct virtio_pmem)->pmem_lock

drivers/nvdimm/virtio_pmem.c virtio_pmem_remove() -> virtio_pmem_drain()

Type Parameter Key Value
PARAM_VALUE 0 vpmem 4096-ptr_max
PARAM_VALUE 0 vpmem->broken 1
PARAM_VALUE 0 vpmem->flush_wq 4096-ptr_max
PARAM_VALUE 0 vpmem->flush_wq->flags 0-4294967295
PARAM_VALUE 0 vpmem->flush_wq->flush_color s32min-s32max
PARAM_VALUE 0 vpmem->flush_wq->nr_drainers s32min-s32max
PARAM_VALUE 0 vpmem->flush_wq->nr_pwqs_to_flush.counter s32min-s32max
PARAM_VALUE 0 vpmem->flush_wq->work_color s32min-s32max
PARAM_VALUE 0 vpmem->pmem_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 vpmem->req_inflight 0,4096-ptr_max
PARAM_VALUE 0 *vpmem->flush_wq->lockdep_map->name 0-255
BUF_SIZE 0 vpmem s32min-(-2),1-s32max
BUF_SIZE 0 vpmem s32min-(-2),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 vpmem unit_byte
LOCK2 flags
LOCK2 0 &vpmem->pmem_lock
HALF_LOCKED2 &_d->mutex
TYPE_LOCK (struct virtio_pmem)->pmem_lock