Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

mm/huge_memory.c map_anon_folio_pmd_nopf() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_file->f_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 1 vma->vm_file->f_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 vma->vm_mm 4096-ptr_max
PARAM_VALUE 2 address 0,2097152-u64max
PARAM_VALUE 3 flags 1
BUF_SIZE 1 vma (-1),4,24,64,168-s32max
BUF_SIZE 1 vma (-1),4,24,64,168-s32max
CAPPED_DATA 2 address 1
CAPPED_DATA 2 address 1
DATA_SOURCE 0 folio $0
DATA_SOURCE 1 vma $2
DATA_SOURCE 2 address $3
BIT_INFO 2 address 0x0,0xffffffffffe00000
BIT_INFO 2 address 0x0,0xffffffffffe00000
NOSPEC 2 address
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 address 0,2097152-u64max[c]
NO_OVERFLOW_SIMPLE 1 vma->vm_pgoff
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 pmd_ptl

mm/userfaultfd.c mfill_atomic_install_pte() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_file 0,4096-ptr_max
PARAM_VALUE 1 vma->vm_ops 0,4096-ptr_max
PARAM_VALUE 3 flags 1
DATA_SOURCE 0 folio r _compound_head
DATA_SOURCE 1 vma $1
DATA_SOURCE 2 address $2
NOCHECK_CALL
LOCK2 &state.ctx->map_changing_lock
LOCK2 ptl
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/swapfile.c unuse_pte() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->anon_vma 1-u64max
PARAM_VALUE 1 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm 4096-ptr_max
PARAM_VALUE 3 flags 0-1
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $4
DATA_SOURCE 1 vma $0
DATA_SOURCE 2 address $2
FUZZY_MAX 3 flags 0
CAPABLE 0 21
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 vma->vm_policy->mode
UNITS 2 address unit_byte
LOCK2 &mm->mmap_lock
LOCK2 ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/swapfile.c unuse_pte() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->anon_vma 1-u64max
PARAM_VALUE 1 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm 4096-ptr_max
PARAM_VALUE 3 flags 1
DATA_SOURCE 0 folio $4 [m]
DATA_SOURCE 1 vma $0
DATA_SOURCE 2 address $2
CAPABLE 0 21
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 vma->vm_policy->mode
UNITS 2 address unit_byte
LOCK2 &mm->mmap_lock
LOCK2 ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/migrate_device.c migrate_vma_insert_huge_pmd_page() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm 4096-ptr_max
PARAM_VALUE 1 vma->vm_ops 0
PARAM_VALUE 3 flags 1
CAPPED_DATA 1 vma 1
CAPPED_DATA 1 vma->vm_start 1
DATA_SOURCE 0 folio r _compound_head
DATA_SOURCE 2 address $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 vma->vm_end
NO_OVERFLOW_SIMPLE 1 vma->vm_pgoff
NO_OVERFLOW_SIMPLE 1 vma->vm_policy->mode
UNITS 2 address unit_byte
HALF_LOCKED2 &drm->dmem->mutex

mm/migrate_device.c migrate_vma_insert_page() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->page_table_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 vma->vm_ops 0
PARAM_VALUE 3 flags 1
CAPPED_DATA 1 vma 1
DATA_SOURCE 0 folio r _compound_head
DATA_SOURCE 2 address $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 vma->vm_end
NO_OVERFLOW_SIMPLE 1 vma->vm_policy->mode
UNITS 2 address unit_byte
LOCK2 ptl
HALF_LOCKED2 &drm->dmem->mutex

mm/memory.c copy_present_page() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->anon_name 0,4096-ptr_max
PARAM_VALUE 1 vma->anon_vma_chain.next->next 4096-ptr_max
PARAM_VALUE 1 vma->anon_vma_chain.prev 4096-ptr_max
PARAM_VALUE 1 vma->anon_vma_chain.prev->next 4096-ptr_max
PARAM_VALUE 1 vma->anon_vma_chain.prev->prev 4096-ptr_max
PARAM_VALUE 1 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 1 vma->numab_state 0
PARAM_VALUE 1 vma->pfnmap_track_ctx 0,4096-ptr_max
PARAM_VALUE 1 vma->vm_file 0,4096-ptr_max
PARAM_VALUE 1 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 1 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 vma->vm_mm 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->context.ldt 0
PARAM_VALUE 1 vma->vm_mm->context.ldt_usr_sem.magic 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->context.lock.magic 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->context.tlb_gen.counter 0
PARAM_VALUE 1 vma->vm_mm->context.untag_mask u64max
PARAM_VALUE 1 vma->vm_mm->def_flags 0,1073741824
PARAM_VALUE 1 vma->vm_mm->exe_file 0,4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->hugetlb_usage.counter 0
PARAM_VALUE 1 vma->vm_mm->ioctx_table 0
PARAM_VALUE 1 vma->vm_mm->iommu_mm 0
PARAM_VALUE 1 vma->vm_mm->iommu_mm->pasid 0-4294967295
PARAM_VALUE 1 vma->vm_mm->locked_vm 0
PARAM_VALUE 1 vma->vm_mm->lru_gen.bitmap 0
PARAM_VALUE 1 vma->vm_mm->lru_gen.memcg 0
PARAM_VALUE 1 vma->vm_mm->map_count 0-s32max
PARAM_VALUE 1 vma->vm_mm->mm_cid.lock.magic 3735899821
PARAM_VALUE 1 vma->vm_mm->mm_cid.lock.owner (-1)
PARAM_VALUE 1 vma->vm_mm->mm_cid.lock.owner_cpu u32max
PARAM_VALUE 1 vma->vm_mm->mm_cid.max_cids 0
PARAM_VALUE 1 vma->vm_mm->mm_cid.mode 0
PARAM_VALUE 1 vma->vm_mm->mm_cid.mutex.magic 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->mm_cid.pcpu 1-u64max
PARAM_VALUE 1 vma->vm_mm->mm_cid.pcpu_thrs 0
PARAM_VALUE 1 vma->vm_mm->mm_cid.update_deferred 0
PARAM_VALUE 1 vma->vm_mm->mm_cid.users 0
PARAM_VALUE 1 vma->vm_mm->mm_count.counter 1
PARAM_VALUE 1 vma->vm_mm->mm_id 0-s32max
PARAM_VALUE 1 vma->vm_mm->mm_mt.ma_flags 771
PARAM_VALUE 1 vma->vm_mm->mm_mt.ma_root 0
PARAM_VALUE 1 vma->vm_mm->mm_users.counter 1
PARAM_VALUE 1 vma->vm_mm->mmap_lock.count.counter 0
PARAM_VALUE 1 vma->vm_mm->mmap_lock.first_waiter 0
PARAM_VALUE 1 vma->vm_mm->mmap_lock.magic 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 vma->vm_mm->mmap_lock.owner.counter 0
PARAM_VALUE 1 vma->vm_mm->notifier_subscriptions 0
PARAM_VALUE 1 vma->vm_mm->owner 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->page_table_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 vma->vm_mm->pgd 18379471554275704832,18446612682070032384
PARAM_VALUE 1 vma->vm_mm->pinned_vm.counter 0
PARAM_VALUE 1 vma->vm_mm->sc_stat.cpu (-1)
PARAM_VALUE 1 vma->vm_mm->sc_stat.footprint 0
PARAM_VALUE 1 vma->vm_mm->sc_stat.lock.magic 3735899821
PARAM_VALUE 1 vma->vm_mm->sc_stat.lock.owner (-1)
PARAM_VALUE 1 vma->vm_mm->sc_stat.lock.owner_cpu u32max
PARAM_VALUE 1 vma->vm_mm->sc_stat.nr_running_avg 0
PARAM_VALUE 1 vma->vm_mm->sc_stat.pcpu_sched 1-u64max
PARAM_VALUE 1 vma->vm_mm->uprobes_state.xol_area 0
PARAM_VALUE 1 vma->vm_mm->vma_writer_wait.task 0
PARAM_VALUE 1 vma->vm_ops 0,4096-ptr_max
PARAM_VALUE 1 vma->vm_ops->open 0,4096-ptr_max
PARAM_VALUE 1 vma->vm_policy 0,4096-ptr_max
PARAM_VALUE 1 vma->vm_policy->refcnt.counter 1
PARAM_VALUE 1 vma->vm_refcnt.refs.counter 0-1
PARAM_VALUE 1 vma->vm_userfaultfd_ctx.ctx->map_changing_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 1 vma->vm_userfaultfd_ctx.ctx->map_changing_lock.first_waiter->type 0-1
PARAM_VALUE 1 vma->vmlock_dep_map.cpu 0
PARAM_VALUE 1 vma->vmlock_dep_map.lock_type 0
PARAM_VALUE 1 vma->vmlock_dep_map.wait_type_inner 0
PARAM_VALUE 1 vma->vmlock_dep_map.wait_type_outer 0
PARAM_VALUE 3 flags 1
CAPPED_DATA 1 vma->vm_mm->mm_id 1
DATA_SOURCE 1 vma $0
DATA_SOURCE 2 address $4
BIT_INFO 1 vma->vm_flags 0x0,0xfffffffffdffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 vma->vm_start
UNITS 1 vma unit_byte
UNITS 2 address unit_byte
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 dst_ptl
LOCK2 rcu_read
LOCK2 src_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/memory.c do_swap_page() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 3 flags 1
CAPPED_DATA 0 folio 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 vma->vm_policy->flags 0,24,8192-57368[c]
USER_DATA 1 vma->vm_policy->home_node 0-1023
USER_DATA 1 vma->vm_policy->mode 2-3,5-u16max
USER_DATA 2 address 0,4096-u64max[c]
UNITS 2 address unit_byte
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c do_swap_page() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 3 flags 0-1
CAPPED_DATA 0 folio 1
FUZZY_MAX 3 flags 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 vma->vm_policy->flags 0,24,8192-57368[c]
USER_DATA 1 vma->vm_policy->home_node 0-1023
USER_DATA 1 vma->vm_policy->mode 2-3,5-u16max
USER_DATA 2 address 0,4096-u64max[c]
UNITS 2 address unit_byte
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c map_anon_folio_pte_nopf() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_file->f_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2704,2712
PARAM_VALUE 1 vma->vm_file->f_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 vma->vm_mm 4096-ptr_max
PARAM_VALUE 3 flags 1
BUF_SIZE 1 vma (-1),4,24,64,168-s32max
BUF_SIZE 1 vma (-1),4,24,64,168-s32max
CAPPED_DATA 2 address 1
CAPPED_DATA 2 address 1
DATA_SOURCE 0 folio $0
DATA_SOURCE 1 vma $2
DATA_SOURCE 2 address $3
NOSPEC 2 address
NOSPEC 2 address
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 address 0-u64max[c]
NO_OVERFLOW_SIMPLE 1 vma->vm_pgoff
UNITS 2 address unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 pmd_ptl
HALF_LOCKED2 vmf->ptl
HALF_LOCKED2 1 &vma->anon_vma->root->rwsem

mm/memory.c set_pte_range() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792,2776440803454029824,3228746867770966016,3502492669594062848,3526768263295340544,3559173554394271744,5000850239487131648,5583386343686406144,5817357685191483392-s64max
PARAM_VALUE 0 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 0 folio->mapping->host->i_sb->s_export_op->fh_to_parent 0,5297,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000,3511613614414655488-s64max
PARAM_VALUE 0 folio->mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max
PARAM_VALUE 0 *folio->_mm_id 0-4294967295
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 3 flags 1
BUF_SIZE 1 vma (-1),4,24,64,168-s32max
BUF_SIZE 1 vma (-1),4,24,64,168-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $1
DATA_SOURCE 2 address $4
BIT_INFO 1 vma->vm_flags 0x0,0xfffffffffffffff7
NOSPEC 2 address
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 address 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 1 vma->vm_end
NO_OVERFLOW_SIMPLE 1 vma->vm_pgoff
NO_OVERFLOW_SIMPLE 1 vma->vm_start
UNITS 0 folio unit_page
UNITS 2 address unit_byte
LOCK2 vmf->ptl
HALF_LOCKED2 rcu_read

mm/memory.c wp_page_copy() -> folio_add_new_anon_rmap()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 vma 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm 4096-ptr_max
PARAM_VALUE 1 vma->vm_mm->context.asid_transition 1
PARAM_VALUE 1 vma->vm_ops 0,4096-ptr_max
PARAM_VALUE 2 address 0,4096-u64max
PARAM_VALUE 3 flags 1
BUF_SIZE 1 vma (-1),1-s32max
BUF_SIZE 1 vma (-1),1-s32max
CAPPED_DATA 2 address 1
CAPPED_DATA 2 address 1
DATA_SOURCE 0 folio r folio_prealloc
NOSPEC 2 address
NOSPEC 2 address
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 vma->swap_readahead_info.counter 0-s64max[c]
USER_DATA 2 address 0,4096-u64max[c]
NO_OVERFLOW_SIMPLE 1 vma->vm_pgoff
UNITS 2 address unit_byte
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock