Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 l 0-4294967295
PARAM_VALUE 1 mm 4096-ptr_max
CAPPED_DATA 1 mm->mm_id 1
DATA_SOURCE 0 l r pages_per_huge_page
DATA_SOURCE 1 mm $0
TERMINATED 1 mm->mm_lock_seq.dep_map.name 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 mm unit_byte
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 src_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/hugetlb.c hugetlb_install_folio() -> hugetlb_count_add()

Type Parameter Key Value
PARAM_VALUE 0 l 0-4294967295
PARAM_VALUE 1 mm 4096-ptr_max
CAPPED_DATA 1 mm->mm_id 1
TERMINATED 1 mm->mm_lock_seq.dep_map.name 1
TERMINATED 1 mm->write_protect_seq.dep_map.name 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 mm unit_byte
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 src_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

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

Type Parameter Key Value
PARAM_VALUE 0 l 0-4294967295
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 1 mm 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() -> hugetlb_count_add()

Type Parameter Key Value
PARAM_VALUE 0 l 0-4294967295
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 mm unit_byte
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock