Documented in 1 files:

Defined in 1 files as a function:

Referenced in 13 files:

Smatch caller information:

fs/ubifs/compress.c ubifs_compress_common() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 3 len 0-4096
CAPPED_DATA 3 len 1
DATA_SOURCE 0 to $5
DATA_SOURCE 2 offset $2
DATA_SOURCE 3 len $3
NOSPEC 2 offset
NOSPEC 2 offset
NOSPEC 3 len
NOSPEC 3 len
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 offset 2-4095[c][u]
USER_DATA 3 len 1-4095[c]
HALF_LOCKED2 &c->write_reserve_mutex

fs/ntfs/dir.c ntfs_lookup_inode_by_name() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 offset 0
PARAM_VALUE 3 len 4096
BUF_SIZE 0 to 4096
BUF_SIZE 0 to 4096
DATA_SOURCE 0 to r _kmalloc_noprof
DATA_SOURCE 1 folio r read_mapping_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 3 len unit_byte
HALF_LOCKED2 &dir_ni->mrec_lock
HALF_LOCKED2 &ni->mrec_lock
HALF_LOCKED2 &vol->root_ino->i_rwsem

fs/udf/inode.c udf_expand_file_adinicb() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 offset 0
DATA_SOURCE 1 folio r __filemap_get_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 3 len 0-9223372036854775806,9223372036854775809-18446744073709551612[
UNITS 0 to unit_byte
LOCK2 &iinfo->i_data_sem
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct udf_inode_info)->i_data_sem

fs/ntfs3/attrib.c attr_data_write_resident() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 1 folio->mapping->host->i_op->get_offset_ctx 0,2606890545167454208
PARAM_VALUE 1 folio->mapping->host->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 1 folio->mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 1 folio->mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 1 folio->mapping->host->i_sb->s_cop->inode_info_offs 1632,1808,2632,2648,2704,2712
PARAM_VALUE 1 folio->mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 1 folio->mapping->host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 1 folio->mapping->host->i_wb->dwork.wq->dfl_pwq 0-s64max
PARAM_VALUE 1 folio->mapping->host->i_wb->dwork.wq->saved_max_active s32min-s32max
PARAM_VALUE 1 folio->mapping->host->i_wb->dwork.wq->saved_min_active s32min-s32max
PARAM_VALUE 1 folio->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 folio->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 *folio->_mm_id 0-4294967295
PARAM_VALUE 2 offset 0
PARAM_VALUE 3 len 0-u32max
CAPPED_DATA 1 folio 1
CAPPED_DATA 3 len 1
CAPPED_DATA 3 len 1
DATA_SOURCE 1 folio $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 to unit_byte
UNITS 3 len unit_byte
LOCK2 &ni->base->ni_lock
TYPE_LOCK (struct ntfs_inode)->ni_lock

fs/gfs2/aops.c gfs2_internal_read() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 len 0-96
CAPPED_DATA 3 len 1
CAPPED_DATA 3 len 1
DATA_SOURCE 1 folio r read_cache_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 to unit_byte
UNITS 2 offset unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &ip->i_inode.i_rwsem
HALF_LOCKED2 &sdp->sd_log_flush_lock

fs/jbd2/journal.c jbd2_journal_write_metadata_buffer() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 0,16,4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 len 0-9223372036854775807
BUF_SIZE 0 to 0-u64max
CAPPED_DATA 2 offset 1
DATA_SOURCE 0 to r _kmalloc_noprof
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 folio unit_page
UNITS 3 len unit_byte
BYTE_COUNT 0 ==to3 8050
LOCK2 &jh_in->b_state_lock
TYPE_LOCK (struct journal_head)->b_state_lock

fs/btrfs/lzo.c copy_compressed_segment() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 offset 0-4294967294
PARAM_VALUE 3 len 1-u32max
CAPPED_DATA 2 offset 1
CAPPED_DATA 3 len 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/f2fs/inline.c f2fs_write_inline_data() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 1 folio->index 0
PARAM_VALUE 1 folio->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 folio->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 *folio->_mm_id 0-4294967295
PARAM_VALUE 2 offset 0
CAPPED_DATA 1 folio 1
DATA_SOURCE 1 folio $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ntfs/inode.c ntfs_inode_attr_pread() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 1 folio 4096-ptr_max
BUF_SIZE 0 to (-1)-s32max
BUF_SIZE 0 to (-1)-s32max
CAPPED_DATA 2 offset 1
CAPPED_DATA 3 len 1
DATA_SOURCE 0 to $3
DATA_SOURCE 1 folio r read_mapping_folio
NOSPEC 3 len
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 to 4096-ptr_max[c][u]
USER_DATA 2 offset 0-u32max[c]
USER_DATA 3 len 0-s32max[c]
NO_OVERFLOW_SIMPLE 2 offset
NO_OVERFLOW_SIMPLE 3 len
UNITS 0 to unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &ni->mrec_lock
HALF_LOCKED2 &xoni->mrec_lock
HALF_LOCKED2 &xrni->mrec_lock

fs/ocfs2/aops.c ocfs2_write_end_inline() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 3 len 0-u32max
DATA_SOURCE 2 offset $1
NOSPEC 2 offset
NOSPEC 2 offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 offset 0-u64max
USER_DATA 3 len 0-u32max
UNITS 0 to unit_byte
UNITS 2 offset unit_byte
UNITS 3 len unit_byte
HALF_LOCKED2 &oi->ip_alloc_sem

fs/ntfs/attrib.c ntfs_attr_make_non_resident() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 2 offset 0
DATA_SOURCE 1 folio r __filemap_get_folio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 3 len 9-s32max
UNITS 0 to unit_byte
UNITS 3 len unit_byte
LOCK2 &ni->runlist.lock
HALF_LOCKED2 &ni->mrec_lock
TYPE_LOCK (struct runlist)->lock

fs/f2fs/super.c f2fs_quota_read() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 16,4096-u64max
PARAM_VALUE 1 folio 4096-ptr_max
PARAM_VALUE 3 len 0-s32max,18446744071562067968-u64max
BUF_SIZE 0 to (-1)-s32max
BUF_SIZE 0 to (-1)-s32max
CAPPED_DATA 1 folio->mapping 1
CAPPED_DATA 2 offset 1
CAPPED_DATA 2 offset 1
CAPPED_DATA 3 len 1
DATA_SOURCE 0 to $2 [m]
DATA_SOURCE 1 folio r mapping_read_folio_gfp
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dqopt->dqio_sem
HALF_LOCKED2 &dquot->dq_lock
HALF_LOCKED2 &oinfo->dqi_gqinode->i_rwsem

fs/btrfs/send.c put_file_data() -> memcpy_from_folio()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 1 folio 4096-ptr_max
CAPPED_DATA 2 offset 1
CAPPED_DATA 3 len 1
NOCHECK_CALL
UNITS 0 to unit_byte
UNITS 3 len unit_byte