Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/hugetlb.c copy_hugetlb_page_range() -> copy_user_large_folio()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->lru.next->prev 4096-ptr_max
PARAM_VALUE 0 dst->lru.prev->next 4096-ptr_max
PARAM_VALUE 0 dst->memcg_data 4096-18446744073709547520
PARAM_VALUE 0 dst->page._refcount.counter 1
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 1 src->mapping 1-u64max
PARAM_VALUE 2 addr_hint 0-18446744073709551614
PARAM_VALUE 3 vma 4096-ptr_max
PARAM_VALUE 3 vma->anon_name 0,4096-ptr_max
PARAM_VALUE 3 vma->anon_vma_chain.next 4096-ptr_max
PARAM_VALUE 3 vma->anon_vma_chain.next->next 4096-ptr_max
PARAM_VALUE 3 vma->anon_vma_chain.prev 4096-ptr_max
PARAM_VALUE 3 vma->anon_vma_chain.prev->next 4096-ptr_max
PARAM_VALUE 3 vma->anon_vma_chain.prev->prev 4096-ptr_max
PARAM_VALUE 3 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 3 vma->numab_state 0
PARAM_VALUE 3 vma->pfnmap_track_ctx 0,4096-ptr_max
PARAM_VALUE 3 vma->vm_end 1073741824-u64max
PARAM_VALUE 3 vma->vm_file 4096-ptr_max
PARAM_VALUE 3 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 vma->vm_mm 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->context.execute_only_pkey (-1)
PARAM_VALUE 3 vma->vm_mm->context.ldt 0
PARAM_VALUE 3 vma->vm_mm->context.ldt_usr_sem.magic 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->context.lock.magic 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->context.pkey_allocation_map 1
PARAM_VALUE 3 vma->vm_mm->context.tlb_gen.counter 0
PARAM_VALUE 3 vma->vm_mm->context.untag_mask u64max
PARAM_VALUE 3 vma->vm_mm->def_flags 0,1073741824
PARAM_VALUE 3 vma->vm_mm->exe_file 0,4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->ioctx_table 0
PARAM_VALUE 3 vma->vm_mm->iommu_mm 0
PARAM_VALUE 3 vma->vm_mm->locked_vm 0
PARAM_VALUE 3 vma->vm_mm->lru_gen.bitmap 0
PARAM_VALUE 3 vma->vm_mm->lru_gen.memcg 0
PARAM_VALUE 3 vma->vm_mm->map_count 0-s32max
PARAM_VALUE 3 vma->vm_mm->mm_cid.lock.magic 3735899821
PARAM_VALUE 3 vma->vm_mm->mm_cid.lock.owner (-1)
PARAM_VALUE 3 vma->vm_mm->mm_cid.lock.owner_cpu u32max
PARAM_VALUE 3 vma->vm_mm->mm_cid.max_cids 0
PARAM_VALUE 3 vma->vm_mm->mm_cid.mode 0
PARAM_VALUE 3 vma->vm_mm->mm_cid.mutex.magic 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->mm_cid.pcpu 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->mm_cid.pcpu_thrs 0
PARAM_VALUE 3 vma->vm_mm->mm_cid.update_deferred 0
PARAM_VALUE 3 vma->vm_mm->mm_cid.users 0
PARAM_VALUE 3 vma->vm_mm->mm_count.counter 1
PARAM_VALUE 3 vma->vm_mm->mm_id 0-s32max
PARAM_VALUE 3 vma->vm_mm->mm_mt.ma_flags 771
PARAM_VALUE 3 vma->vm_mm->mm_mt.ma_root 0
PARAM_VALUE 3 vma->vm_mm->mm_users.counter 1
PARAM_VALUE 3 vma->vm_mm->mmap_lock.count.counter 0
PARAM_VALUE 3 vma->vm_mm->mmap_lock.first_waiter 0
PARAM_VALUE 3 vma->vm_mm->mmap_lock.magic 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 3 vma->vm_mm->mmap_lock.owner.counter 0
PARAM_VALUE 3 vma->vm_mm->notifier_subscriptions 0
PARAM_VALUE 3 vma->vm_mm->owner 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->pgd 18446612682070032384
PARAM_VALUE 3 vma->vm_mm->pinned_vm.counter 0
PARAM_VALUE 3 vma->vm_mm->sc_stat.cpu (-1)
PARAM_VALUE 3 vma->vm_mm->sc_stat.footprint 0
PARAM_VALUE 3 vma->vm_mm->sc_stat.lock.magic 3735899821
PARAM_VALUE 3 vma->vm_mm->sc_stat.lock.owner (-1)
PARAM_VALUE 3 vma->vm_mm->sc_stat.lock.owner_cpu u32max
PARAM_VALUE 3 vma->vm_mm->sc_stat.nr_running_avg 0
PARAM_VALUE 3 vma->vm_mm->sc_stat.pcpu_sched 4096-ptr_max
PARAM_VALUE 3 vma->vm_mm->uprobes_state.xol_area 0
PARAM_VALUE 3 vma->vm_mm->vma_writer_wait.task 0
PARAM_VALUE 3 vma->vm_ops 0,4096-ptr_max
PARAM_VALUE 3 vma->vm_policy 0,4096-ptr_max
PARAM_VALUE 3 vma->vm_refcnt.refs.counter 0-1
PARAM_VALUE 3 vma->vm_userfaultfd_ctx.ctx->map_changing_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 3 vma->vm_userfaultfd_ctx.ctx->map_changing_lock.first_waiter->type 0-1
PARAM_VALUE 3 vma->vmlock_dep_map->name 0-255
PARAM_VALUE 3 vma->vmlock_dep_map.cpu 0
PARAM_VALUE 3 vma->vmlock_dep_map.lock_type 0
CAPPED_DATA 2 addr_hint 1
CAPPED_DATA 2 addr_hint 1
CAPPED_DATA 3 vma->vm_mm->mm_id 1
DATA_SOURCE 0 dst r alloc_hugetlb_folio
DATA_SOURCE 1 src r _compound_head
DATA_SOURCE 3 vma $2
TERMINATED 3 vma->vm_mm->mm_lock_seq.dep_map.name 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 3 vma->vm_file->f_mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 3 vma->vm_start
UNITS 2 addr_hint unit_byte
UNITS 3 vma unit_byte
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/hugetlb.c hugetlb_mfill_atomic_pte() -> copy_user_large_folio()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->lru.next->prev 4096-ptr_max
PARAM_VALUE 0 dst->lru.prev->next 4096-ptr_max
PARAM_VALUE 0 dst->memcg_data 4096-18446744073709547520
PARAM_VALUE 0 dst->page._refcount.counter 1
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 3 vma 4096-ptr_max
PARAM_VALUE 3 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 3 vma->vm_end 1073741824-u64max
PARAM_VALUE 3 vma->vm_file 4096-ptr_max
PARAM_VALUE 3 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 3 vma->vm_ops 4096-ptr_max
PARAM_VALUE 3 vma->vm_ops->pagesize 1-u64max
PARAM_VALUE 3 vma->vm_refcnt.refs.counter (-1073741824),0-s32max
PARAM_VALUE 3 vma->vm_userfaultfd_ctx.ctx 1-u64max
CAPPED_DATA 3 vma 1
DATA_SOURCE 0 dst r alloc_hugetlb_folio
DATA_SOURCE 2 addr_hint $2
DATA_SOURCE 3 vma $1
NOSPEC 2 addr_hint
NOSPEC 2 addr_hint
USER_DATA 2 addr_hint 0-18446744073709551614[c]
USER_DATA 3 vma->vm_policy->flags 0,24,8192-57368[c]
USER_DATA 3 vma->vm_policy->home_node 0-1023
NO_OVERFLOW_SIMPLE 2 addr_hint
UNITS 2 addr_hint unit_byte
LOCK2 &state.ctx->map_changing_lock
HALF_LOCKED2 &ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/hugetlb.c hugetlb_wp() -> copy_user_large_folio()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->lru.next->prev 4096-ptr_max
PARAM_VALUE 0 dst->lru.prev->next 4096-ptr_max
PARAM_VALUE 0 dst->memcg_data 4096-18446744073709547520
PARAM_VALUE 0 dst->page._refcount.counter 1
PARAM_VALUE 1 src 4096-ptr_max
PARAM_VALUE 3 vma 4096-ptr_max
PARAM_VALUE 3 vma->vm_file 4096-ptr_max
PARAM_VALUE 3 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 3 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 3 vma->vm_ops 0,4096-ptr_max
DATA_SOURCE 0 dst r alloc_hugetlb_folio
DATA_SOURCE 1 src r _compound_head
BIT_INFO 3 vma->vm_flags 0x0,0xffffffffffffff7f
NOSPEC 2 addr_hint
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 addr_hint 0-u64max
USER_DATA 3 vma->vm_policy->flags 0,24,8192-57368[c]
USER_DATA 3 vma->vm_policy->home_node 0-1023
UNITS 2 addr_hint unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock