Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- fs/hugetlbfs/inode.c, line 799
- mm/huge_memory.c, line 1348
- mm/hugetlb.c, line 5839
- mm/memfd.c, line 107
- mm/memory.c, line 5379
Smatch caller information:
mm/huge_memory.c vma_alloc_anon_folio_pmd() -> folio_zero_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | addr_hint | 0,4096-u64max |
| DATA_SOURCE | 0 | folio | r vma_alloc_folio_noprof |
| DATA_SOURCE | 1 | addr_hint | $1 |
| BIT_INFO | 1 | addr_hint | 0x0,0xfffffffffffff000 |
| BIT_INFO | 1 | addr_hint | 0x0,0xfffffffffffff000 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | addr_hint | 0,4096-u64max[c] |
| UNITS | 1 | addr_hint | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/hugetlb.c hugetlb_no_page() -> folio_zero_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->memcg_data | 4096-18446744073709547520 |
| PARAM_VALUE | 0 | folio->page._refcount.counter | 1 |
| DATA_SOURCE | 0 | folio | r alloc_hugetlb_folio |
| NOSPEC | 1 | addr_hint | |
| NOSPEC | 1 | addr_hint | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | addr_hint | 0-u64max[c] |
| UNITS | 1 | addr_hint | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/memory.c alloc_anon_folio() -> folio_zero_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 1 | addr_hint | 0,4096-u64max |
| CAPPED_DATA | 1 | addr_hint | 1 |
| CAPPED_DATA | 1 | addr_hint | 1 |
| DATA_SOURCE | 0 | folio | r vma_alloc_folio_noprof |
| NOSPEC | 1 | addr_hint | |
| NOSPEC | 1 | addr_hint | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | addr_hint | 0,4096-u64max[c] |
| UNITS | 1 | addr_hint | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
fs/hugetlbfs/inode.c hugetlbfs_fallocate() -> folio_zero_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->memcg_data | 4096-18446744073709547520 |
| PARAM_VALUE | 0 | folio->page._refcount.counter | 1 |
| DATA_SOURCE | 0 | folio | r alloc_hugetlb_folio |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
mm/memfd.c memfd_alloc_folio() -> folio_zero_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.next | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->lru.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | folio->page._refcount.counter | 1 |
| PARAM_VALUE | 0 | folio->page.flags.f | 0-18446744073709551614 |
| PARAM_VALUE | 1 | addr_hint | 0 |
| DATA_SOURCE | 0 | folio | r alloc_hugetlb_folio_reserve |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | _T->lock |