Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 0 vma->vm_end 1073741824-u64max
PARAM_VALUE 0 vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 0 vma->vm_ops 4096-ptr_max
PARAM_VALUE 0 vma->vm_ops->pagesize 1-u64max
PARAM_VALUE 0 vma->vm_refcnt.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 vma->vm_userfaultfd_ctx.ctx 1-u64max
PARAM_VALUE 2 cow_from_owner 0
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma $1
DATA_SOURCE 1 addr $2
NOSPEC 1 addr
NOSPEC 1 addr
USER_DATA 0 vma->vm_policy->home_node 0-1023
USER_DATA 1 addr 0-18446744073709551614[c]
NO_OVERFLOW_SIMPLE 1 addr
UNITS 1 addr 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_mfill_atomic_pte() -> alloc_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 0 vma->vm_end 1073741824-u64max
PARAM_VALUE 0 vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 0 vma->vm_ops 4096-ptr_max
PARAM_VALUE 0 vma->vm_ops->pagesize 1-u64max
PARAM_VALUE 0 vma->vm_refcnt.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 vma->vm_userfaultfd_ctx.ctx 1-u64max
PARAM_VALUE 2 cow_from_owner 0
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma $1
DATA_SOURCE 1 addr $2
NOSPEC 1 addr
NOSPEC 1 addr
USER_DATA 0 vma->vm_policy->home_node 0-1023
USER_DATA 1 addr 0-18446744073709551614[c]
NO_OVERFLOW_SIMPLE 1 addr
UNITS 1 addr 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_no_page() -> alloc_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->vm_file 4096-ptr_max
PARAM_VALUE 2 cow_from_owner 0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 addr 0-u64max[c]
UNITS 1 addr unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

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

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vma->vm_file->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
BIT_INFO 0 vma->vm_flags 0x0,0xffffffffffffff7f
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vma->vm_policy->flags 0,24,8192-57368[c]
USER_DATA 0 vma->vm_policy->home_node 0-1023
USER_DATA 1 addr 0-u64max[c]
UNITS 1 addr unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

fs/hugetlbfs/inode.c hugetlbfs_fallocate() -> alloc_hugetlb_folio()

Type Parameter Key Value
PARAM_VALUE 0 vma 5422530354261037056
PARAM_VALUE 0 vma->anon_vma 0
PARAM_VALUE 0 vma->shared.rb_subtree_last 0
PARAM_VALUE 0 vma->vm_end 0
PARAM_VALUE 0 vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vma->vm_flags 0
PARAM_VALUE 0 vma->vm_lock_seq u32max
PARAM_VALUE 0 vma->vm_ops 6756087424609792000
PARAM_VALUE 0 vma->vm_pgoff 0
PARAM_VALUE 0 vma->vm_policy 0
PARAM_VALUE 0 vma->vm_private_data 0
PARAM_VALUE 0 vma->vm_refcnt.refs.counter 0
PARAM_VALUE 0 vma->vm_start 0
PARAM_VALUE 2 cow_from_owner 0
MEM_ZERO 0 vma
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem