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 |