Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/hugetlb.c hugetlb_alloc_folio() -> hugetlb_cgroup_commit_charge()

Type Parameter Key Value
PARAM_VALUE 1 nr_pages 0-u32max
PARAM_VALUE 2 h_cg 0,4096-ptr_max
PARAM_VALUE 3 folio 4096-ptr_max
PARAM_VALUE 3 folio->lru.next->prev 4096-ptr_max
PARAM_VALUE 3 folio->lru.prev->next 4096-ptr_max
PARAM_VALUE 3 folio->page._refcount.counter 1
DATA_SOURCE 0 idx r hstate_index
DATA_SOURCE 1 nr_pages r pages_per_huge_page
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &hugetlb_lock
LOCK2 irq
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 &state.ctx->map_changing_lock