Defined in 2 files as a prototype:

Defined in 4 files as a function:

Referenced in 12 files:

Smatch caller information:

lib/iov_iter.c memcpy_from_iter_flushcache() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
CAPPED_DATA 2 cnt 1
CAPPED_DATA 2 cnt 1
DATA_SOURCE 1 src $0
DATA_SOURCE 2 cnt $2
NOSPEC 2 cnt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 2 cnt 0-s32max[c]
USER_DATA 2 cnt 0-s32max[c]
UNITS 0 dst unit_byte
UNITS 1 src unit_byte
UNITS 2 cnt unit_byte
USER_PTR 0 dst
HALF_LOCKED2 rcu_read

drivers/nvdimm/pmem.c write_pmem() -> memcpy_flushcache()

Type Parameter Key Value
CAPPED_DATA 2 cnt 1
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 src unit_byte
UNITS 2 cnt unit_byte

drivers/md/dm-pcache/cache_segment.c cache_seg_ctrl_write() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 4352983004287430656
PARAM_VALUE 2 cnt 16
BUF_SIZE 1 src 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/md/dm-pcache/cache_segment.c cache_seg_info_write() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 cnt 16
BUF_SIZE 1 src 16
DATA_SOURCE 0 dst r get_seg_info_addr
NOCHECK_CALL
UNITS 2 cnt unit_byte
LOCK2 &cache_seg->info_lock
HALF_LOCKED2 &md->type_lock
TYPE_LOCK (struct pcache_cache_segment)->info_lock

drivers/md/dm-pcache/cache_segment.c cache_seg_init() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 5329551242928439296
PARAM_VALUE 2 cnt 24
BUF_SIZE 1 src 24
NOCHECK_CALL
UNITS 2 cnt unit_byte
HALF_LOCKED2 &md->type_lock

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

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 2 cnt 1-u64max
BUF_SIZE 1 src (-1),4,4096,2097152
BUF_SIZE 1 src (-1),4,4096,2097152
CAPPED_DATA 2 cnt 1
CAPPED_DATA 2 cnt 1
DATA_SOURCE 1 src $2
DATA_SOURCE 2 cnt $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-pcache/cache_key.c append_last_kset() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 7554281805911179264
PARAM_VALUE 2 cnt 24
BUF_SIZE 1 src 24
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
LOCK2 &cache->key_head_lock
LOCK2 &kset->kset_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock
TYPE_LOCK (struct pcache_cache_kset)->kset_lock

drivers/md/dm-pcache/cache_key.c cache_kset_close() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 5329551242928439296
PARAM_VALUE 2 cnt 24
BUF_SIZE 1 src 24
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
LOCK2 &cache->key_head_lock
LOCK2 &kset->kset_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock
TYPE_LOCK (struct pcache_cache_kset)->kset_lock

drivers/md/dm-pcache/cache_key.c cache_kset_close() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 5329551242928439296
PARAM_VALUE 2 cnt 24
BUF_SIZE 1 src 24
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dst unit_byte
UNITS 2 cnt unit_byte
LOCK2 &cache->key_head_lock
LOCK2 &kset->kset_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock
TYPE_LOCK (struct pcache_cache_kset)->kset_lock

drivers/md/dm-pcache/cache_key.c cache_kset_close() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
BUF_SIZE 1 src 24
DATA_SOURCE 2 cnt r size_add
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
LOCK2 &cache->key_head_lock
LOCK2 &kset->kset_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock
TYPE_LOCK (struct pcache_cache_kset)->kset_lock

drivers/md/dm-pcache/cache_dev.c sb_write() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 8097940799167340544
PARAM_VALUE 2 cnt 24
DATA_SOURCE 1 src $1
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/dax/fsdev.c fsdev_write_dax() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 18379471554275704832,18446612682070032384
PARAM_VALUE 2 cnt 4096
DATA_SOURCE 0 dst $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
HALF_LOCKED2 global &dax_srcu

drivers/md/dm-writecache.c clear_seq_count() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 2191698512911699968
PARAM_VALUE 1 *src (-1)
PARAM_VALUE 2 cnt 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
LOCK2 &wc->lock
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c init_memory() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 1640845490151092224
PARAM_VALUE 1 *src 0
PARAM_VALUE 2 cnt 8
BUF_SIZE 1 src 8
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/md/dm-writecache.c init_memory() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 1640845490151092224
PARAM_VALUE 1 *src 1
PARAM_VALUE 2 cnt 4
BUF_SIZE 0 dst 4
BUF_SIZE 1 src 4
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/md/dm-writecache.c init_memory() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 1640845490151092224
PARAM_VALUE 2 cnt 4
BUF_SIZE 0 dst 4
BUF_SIZE 1 src 4
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/md/dm-writecache.c init_memory() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 1640845490151092224
PARAM_VALUE 2 cnt 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/md/dm-writecache.c init_memory() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 1640845490151092224
PARAM_VALUE 1 *src 0
PARAM_VALUE 2 cnt 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/md/dm-writecache.c init_memory() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 1640845490151092224
PARAM_VALUE 1 *src 591958817
PARAM_VALUE 2 cnt 4
BUF_SIZE 0 dst 4
BUF_SIZE 1 src 4
NOCHECK_CALL
UNITS 2 cnt unit_byte

drivers/md/dm-writecache.c memcpy_flushcache_optimized() -> memcpy_flushcache()

Type Parameter Key Value
CAPPED_DATA 2 cnt 1
CAPPED_DATA 2 cnt 1
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 src $1
DATA_SOURCE 2 cnt $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 dst unit_byte
UNITS 2 cnt unit_byte
LOCK2 &md->io_barrier
LOCK2 &wc->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-writecache.c write_original_sector_seq_count() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 3499426392730636288
PARAM_VALUE 2 cnt 16
BUF_SIZE 1 src 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &wc->lock

drivers/md/dm-writecache.c writecache_flush() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 1 src 153431620709396480
PARAM_VALUE 2 cnt 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
LOCK2 &wc->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct dm_writecache)->lock

arch/x86/kernel/crash.c arch_crash_handle_hotplug_event() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 18379471554275704832,18446612682070032384
PARAM_VALUE 1 src 0
PARAM_VALUE 2 cnt 0
DATA_SOURCE 0 dst r kmap_local_page
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
LOCK2 global &__crash_hotplug_lock

drivers/md/dm-pcache/cache.c cache_info_write() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 cnt 24
BUF_SIZE 1 src 24
NOCHECK_CALL
UNITS 2 cnt unit_byte
HALF_LOCKED2 &cache->cache_info_lock
HALF_LOCKED2 &md->io_barrier

drivers/md/dm-pcache/cache.c cache_pos_encode() -> memcpy_flushcache()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 1673465164989812736
PARAM_VALUE 2 cnt 16
BUF_SIZE 1 src 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 cnt unit_byte
HALF_LOCKED2 &cache->dirty_tail_lock
HALF_LOCKED2 &cache->key_tail_lock