Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 2 files as a macro:

Defined in 3 files as a function:

Referenced in 14 files:

Smatch caller information:

fs/coredump.c dump_page_copy() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 18379471554275704832,18446612682070032384
PARAM_VALUE 1 src 18379471554275704832,18446612682070032384
PARAM_VALUE 2 len 4096
DATA_SOURCE 1 src r kmap_local_page
RX_PATH
TASK_NOT_RUNNING
UNITS 2 len unit_byte

lib/iov_iter.c memcpy_to_iter_mc() -> copy_mc_to_kernel()

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

drivers/nvdimm/pmem.c read_pmem() -> copy_mc_to_kernel()

Type Parameter Key Value
CAPPED_DATA 2 len 1
DATA_SOURCE 1 src $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dst unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

fs/dax.c dax_iomap_copy_around() -> copy_mc_to_kernel()

Type Parameter Key Value
CAPPED_DATA 2 len 1
DATA_SOURCE 0 dst $4
DATA_SOURCE 2 len $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 1-s32max[c]
UNITS 2 len unit_byte
HALF_LOCKED2 global &dax_srcu

fs/dax.c dax_iomap_copy_around() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 2 len 1-2097151
CAPPED_DATA 2 len 1
DATA_SOURCE 0 dst $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 1-2097150[c]
UNITS 2 len unit_byte
HALF_LOCKED2 global &dax_srcu

fs/dax.c dax_iomap_copy_around() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dst unit_byte
UNITS 1 src unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 global &dax_srcu

fs/dax.c dax_unshare_iter() -> copy_mc_to_kernel()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 1-2147491836[c]
UNITS 2 len unit_byte
LOCK2 global &dax_srcu
HALF_LOCKED2 &pool->lock

drivers/md/dm-pcache/cache_segment.c pcache_meta_find_latest() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 16
BUF_SIZE 0 dst 16
DATA_SOURCE 0 dst $3
DATA_SOURCE 2 len $1
UNITS 2 len unit_byte
HALF_LOCKED2 &cache_seg->info_lock
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_segment.c pcache_meta_find_latest() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 16
BUF_SIZE 0 dst 16
BUF_SIZE 0 dst 16
DATA_SOURCE 0 dst $3
DATA_SOURCE 2 len $1
UNITS 2 len unit_byte
HALF_LOCKED2 &cache_seg->info_lock
HALF_LOCKED2 &md->type_lock

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

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

mm/util.c copy_mc_highpage() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 18379471554275704832,18446612682070032384
PARAM_VALUE 1 src 18379471554275704832,18446612682070032384
PARAM_VALUE 2 len 4096
DATA_SOURCE 0 dst r kmap_local_page
DATA_SOURCE 1 src r kmap_local_page
RX_PATH
TASK_NOT_RUNNING

mm/ksm.c copy_mc_user_highpage() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 18379471554275704832,18446612682070032384
PARAM_VALUE 1 src 18379471554275704832,18446612682070032384
PARAM_VALUE 2 len 4096
DATA_SOURCE 0 dst r kmap_local_page
DATA_SOURCE 1 src r kmap_local_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

drivers/md/dm-pcache/cache_key.c cache_replay() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 0-5144
BUF_SIZE 0 dst 5144
CAPPED_DATA 2 len 1
DATA_SOURCE 0 dst r _kzalloc_noprof
UNITS 2 len unit_byte
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_key.c cache_verify_dirty_tail() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 0-5144
BUF_SIZE 0 dst 5144
CAPPED_DATA 2 len 1
DATA_SOURCE 0 dst r _kzalloc_noprof
UNITS 2 len unit_byte
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_dev.c sb_read() -> copy_mc_to_kernel()

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

drivers/md/dm-writecache.c bio_copy_block() -> copy_mc_to_kernel()

Type Parameter Key Value
CAPPED_DATA 2 len 1
DATA_SOURCE 0 dst r bvec_kmap_local
DATA_SOURCE 1 src $2 [m]
RX_PATH
TASK_NOT_RUNNING
UNITS 1 src unit_byte
UNITS 2 len 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 writecache_resume() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 2341167470629638144
PARAM_VALUE 2 len 8
BUF_SIZE 0 dst 8
BUF_SIZE 1 src 8
UNITS 2 len unit_byte
LOCK2 &md->suspend_lock
LOCK2 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-writecache.c writecache_resume() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 3049741945174179840
PARAM_VALUE 2 len 16
BUF_SIZE 0 dst 16
UNITS 2 len unit_byte
LOCK2 &md->suspend_lock
LOCK2 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->suspend_lock

mm/memory.c copy_mc_user_highpage() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 18379471554275704832,18446612682070032384
PARAM_VALUE 1 src 18379471554275704832,18446612682070032384
PARAM_VALUE 2 len 4096
DATA_SOURCE 0 dst r kmap_local_page
DATA_SOURCE 1 src r kmap_local_page
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 dst_ptl
HALF_LOCKED2 rcu_read
HALF_LOCKED2 src_ptl

drivers/md/dm-pcache/cache_writeback.c is_cache_clean() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 0-5144
BUF_SIZE 0 dst 5144
CAPPED_DATA 2 len 1
DATA_SOURCE 1 src r cache_pos_addr
UNITS 2 len unit_byte
LOCK2 &cache->writeback_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->writeback_lock

drivers/md/dm-pcache/cache_gc.c need_gc() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 0-5144
BUF_SIZE 0 dst 5144
CAPPED_DATA 2 len 1
DATA_SOURCE 1 src r cache_pos_addr
UNITS 2 len unit_byte
HALF_LOCKED2 &pool->lock

mm/khugepaged.c copy_mc_highpage() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 18379471554275704832,18446612682070032384
PARAM_VALUE 1 src 18379471554275704832,18446612682070032384
PARAM_VALUE 2 len 4096
DATA_SOURCE 0 dst r kmap_local_page
DATA_SOURCE 1 src r kmap_local_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/khugepaged.c copy_mc_user_highpage() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 18379471554275704832,18446612682070032384
PARAM_VALUE 1 src 18379471554275704832,18446612682070032384
PARAM_VALUE 2 len 4096
DATA_SOURCE 0 dst r kmap_local_page
DATA_SOURCE 1 src r kmap_local_page
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->anon_vma->root->rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

drivers/md/dm-pcache/cache.c pcache_meta_find_latest() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 16,24
BUF_SIZE 0 dst 16,24
DATA_SOURCE 0 dst $3
DATA_SOURCE 2 len $1
HARD_MAX 2 len 24
UNITS 2 len unit_byte
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache.c pcache_meta_find_latest() -> copy_mc_to_kernel()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 2 len 16,24
BUF_SIZE 0 dst 16,24
BUF_SIZE 0 dst 16,24
DATA_SOURCE 0 dst $3
DATA_SOURCE 2 len $1
HARD_MAX 2 len 24
UNITS 2 len unit_byte
HALF_LOCKED2 &md->type_lock