Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/nvdimm/pmem.c nd_pmem_remove() -> nvdimm_flush()

Type Parameter Key Value
PARAM_VALUE 0 nd_region 4096-ptr_max
PARAM_VALUE 1 bio 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

drivers/nvdimm/pmem.c nd_pmem_shutdown() -> nvdimm_flush()

Type Parameter Key Value
PARAM_VALUE 0 nd_region 4096-ptr_max
PARAM_VALUE 1 bio 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->mutex
HALF_LOCKED2 &parent->mutex
HALF_LOCKED2 global &system_transition_mutex
TYPE_LOCK (struct device)->mutex

drivers/nvdimm/pmem.c pmem_submit_bio() -> nvdimm_flush()

Type Parameter Key Value
PARAM_VALUE 0 nd_region 4096-ptr_max
PARAM_VALUE 1 bio 0
DATA_SOURCE 0 nd_region r to_region
RX_PATH
TASK_NOT_RUNNING

drivers/nvdimm/pmem.c pmem_submit_bio() -> nvdimm_flush()

Type Parameter Key Value
PARAM_VALUE 0 nd_region 4096-ptr_max
PARAM_VALUE 1 bio 4096-ptr_max
PARAM_VALUE 1 bio->bi_bdev 4096-ptr_max
PARAM_VALUE 1 bio->bi_bdev->bd_disk 4096-ptr_max
PARAM_VALUE 1 bio->bi_bdev->bd_disk->fops 4096-ptr_max
PARAM_VALUE 1 bio->bi_bdev->bd_disk->private_data 4096-ptr_max
PARAM_VALUE 1 bio->bi_bdev->bd_queue->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 1 bio->bi_status 0
BUF_SIZE 1 bio (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 1 bio (-1)-0,4,24,32,64,144-s32max
BUF_SIZE 1 bio->bi_pool (-1),624
BUF_SIZE 1 bio->bi_private (-1)-s32max
DATA_SOURCE 0 nd_region r to_region
DATA_SOURCE 1 bio $0
STR_LEN 1 bio->bi_private (-1),8,11-12,14,17,19-20,23,26-27,29,31-32
BIT_INFO 1 bio->bi_opf 0x20000,0xffffffff
NOSPEC 1 bio->bi_iter.bi_sector
NOSPEC 1 bio->bi_iter.bi_size
NOSPEC 1 bio->bi_next->bi_iter.bi_sector
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 bio->bi_bdev->bd_queue->last_merge->__sector 0-u64max
HOST_DATA 1 bio->bi_iter.bi_sector 0-u64max
HOST_DATA 1 bio->bi_iter.bi_size 0-u32max[c]
HOST_DATA 1 bio->bi_max_vecs 0-u16max[c]
HOST_DATA 1 bio->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 1 bio->bi_bdev->bd_queue->last_merge->__sector 0-u64max
USER_DATA 1 bio->bi_ioprio 0-u16max
USER_DATA 1 bio->bi_iter.bi_sector 0-u64max
USER_DATA 1 bio->bi_iter.bi_size 0-u32max
USER_DATA 1 bio->bi_max_vecs 0-u16max[c]
USER_DATA 1 bio->bi_next->bi_ioprio 0-u16max[c]
USER_DATA 1 bio->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 1 bio->bi_next->bi_max_vecs 0-256[c]
NO_OVERFLOW_SIMPLE 1 bio->bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 1 bio->bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 1 bio->bi_io_vec
NO_OVERFLOW_SIMPLE 1 bio->bi_next->bi_iter.bi_sector
NO_OVERFLOW_SIMPLE 1 bio->bi_pool->bio_pool.min_nr
NO_OVERFLOW_SIMPLE 1 bio->bi_pool->bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 1 bio->bio.bi_bdev->bd_disk->queue->queue_hw_ctx
NO_OVERFLOW_SIMPLE 1 bio->bio.bi_bdev->bd_disk->queue->stats
NO_OVERFLOW_SIMPLE 1 bio->bio.bi_max_vecs
HALF_LOCKED2 1 &bio->bi_bdev->bd_queue->queue_lock

drivers/nvdimm/claim.c nsio_rw_bytes() -> nvdimm_flush()

Type Parameter Key Value
PARAM_VALUE 0 nd_region 4096-ptr_max
PARAM_VALUE 1 bio 0
RX_PATH
TASK_NOT_RUNNING

drivers/nvdimm/region_devs.c deep_flush_store() -> nvdimm_flush()

Type Parameter Key Value
PARAM_VALUE 0 nd_region 4096-ptr_max
PARAM_VALUE 1 bio 0
DATA_SOURCE 0 nd_region r to_nd_region
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex