Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/shmem.c shmem_alloc_and_add_folio() -> shmem_add_to_page_cache()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 mapping 4096-ptr_max
PARAM_VALUE 1 mapping->a_ops 4096-ptr_max
PARAM_VALUE 2 index 0-2251799813685247
PARAM_VALUE 3 expected 0
PARAM_VALUE 4 gfp 0,32-17558752
CAPPED_DATA 2 index 1
CAPPED_DATA 2 index 1
DATA_SOURCE 2 index $3 [m]
DATA_SOURCE 4 gfp $1 [m]
FUZZY_MAX 2 index 2251799813685247
BIT_INFO 4 gfp 0x0,0x10bece0
NOSPEC 2 index
NOSPEC 2 index
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 index 0-2251799813685247[c]
USER_DATA 2 index 0-2251799813685247[c]
UNITS 2 index unit_page
HALF_LOCKED2 &inode->i_rwsem

mm/shmem.c shmem_mfill_filemap_add() -> shmem_add_to_page_cache()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 mapping 4096-ptr_max
PARAM_VALUE 3 expected 0
DATA_SOURCE 0 folio $0
DATA_SOURCE 2 index r linear_page_index
PARAM_COMPARE 4 gfp == $1->gfp_mask
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/shmem.c shmem_swapin_folio() -> shmem_add_to_page_cache()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 3 expected 1,3-u64max
DATA_SOURCE 2 index $1 [m]
DATA_SOURCE 4 gfp $4
NOSPEC 2 index
NOSPEC 2 index
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 index 0-2251799813685247[c]
USER_DATA 2 index 0-2251799813685247[c]
UNITS 2 index unit_page

mm/shmem.c shmem_writeout() -> shmem_add_to_page_cache()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->_deferred_list.next->prev 4096-ptr_max
PARAM_VALUE 0 folio->_deferred_list.prev->next 4096-ptr_max
PARAM_VALUE 0 folio->_hugetlb_subpool 0
PARAM_VALUE 0 folio->lru.next 4096-ptr_max
PARAM_VALUE 0 folio->lru.prev 4096-ptr_max
PARAM_VALUE 0 folio->mapping 0
PARAM_VALUE 0 folio->page.buddy_list.next 4096-ptr_max
PARAM_VALUE 0 folio->page.buddy_list.prev 4096-ptr_max
PARAM_VALUE 0 folio->page.memcg_data 0
PARAM_VALUE 0 folio->page.pcp_list.next 4096-ptr_max
PARAM_VALUE 0 folio->page.pcp_list.prev 4096-ptr_max
PARAM_VALUE 0 folio->page.zone_device_data->kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 folio->pgmap->ref.data 0,4096-ptr_max
PARAM_VALUE 0 folio->private 0
PARAM_VALUE 0 *folio->_mm_id 0-4294967295
PARAM_VALUE 1 mapping 4096-ptr_max
PARAM_VALUE 1 mapping->host 4096-ptr_max
PARAM_VALUE 1 mapping->host->i_mapping 4096-ptr_max
PARAM_VALUE 1 mapping->host->i_sb 4096-ptr_max
PARAM_VALUE 3 expected 1,3-u64max
PARAM_VALUE 4 gfp 532512
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $1
RX_PATH
TASK_NOT_RUNNING
UNITS 2 index unit_page

mm/memfd_luo.c memfd_luo_retrieve_folios() -> shmem_add_to_page_cache()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 0 folio->mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 0 folio->mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 1 mapping 4096-ptr_max
PARAM_VALUE 1 mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 1 mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 1 mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 3 expected 0
DATA_SOURCE 0 folio r kho_restore_folio
UNITS 2 index unit_page
LOCK2 &session->mutex
LOCK2 _T->lock
TYPE_LOCK (struct luo_session)->mutex