Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 10 files:
- fs/proc/task_mmu.c
- mm/damon/vaddr.c
- mm/khugepaged.c, line 779
- mm/ksm.c, line 639
- mm/madvise.c
- mm/memory.c, line 6325
- mm/mempolicy.c, line 724
- mm/mlock.c, line 388
- mm/mremap.c, line 190
- mm/userfaultfd.c
Smatch caller information:
mm/madvise.c madvise_cold_or_pageout_pte_range() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/madvise.c madvise_free_pte_range() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 0,4096-ptr_max |
| PARAM_VALUE | 1 | addr | 1-u64max |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/userfaultfd.c check_ptes_for_batched_move() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->delays->blkio_count | 0-4294967295 |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->process_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->process_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->request_key_auth->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->request_key_auth->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->session_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->session_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->thread_keyring->user->qnbytes | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->ptracer_cred->thread_keyring->user->qnkeys | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled | 0-1 |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->sched_task_group->idle | s32min-s32max |
| PARAM_VALUE | 0 | vma->vm_ops | 0 |
| PARAM_VALUE | 0 | vma->vm_refcnt.refs.counter | (-1073741824),0-s32max |
| PARAM_VALUE | 1 | addr | 1-u64max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| BIT_INFO | 0 | vma->vm_flags | 0x0,0xfffffffffffffff7 |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| USER_DATA | 1 | addr | 4096-2147491839[c] |
| NO_OVERFLOW_SIMPLE | 1 | addr | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &ctx->map_changing_lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c move_pages_ptes() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_mm->vma_writer_wait.task->sched_class->uclamp_enabled | 0-1 |
| PARAM_VALUE | 0 | vma->vm_ops | 0 |
| PARAM_VALUE | 0 | vma->vm_refcnt.refs.counter | (-1073741824),0-s32max |
| PARAM_VALUE | 1 | addr | 0-18446744073709551614 |
| CAPPED_DATA | 1 | addr | 1 |
| CAPPED_DATA | 1 | addr | 1 |
| DATA_SOURCE | 0 | vma | $4 |
| DATA_SOURCE | 1 | addr | $6 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| BIT_INFO | 0 | vma->vm_flags | 0x0,0xfffffffffffffff7 |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| PREEMPT_ADD | <- disables preempt | ||
| USER_DATA | 1 | addr | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 1 | addr | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | &ctx->map_changing_lock | ||
| LOCK2 | rcu_read | ||
| LOCK2 | src_ptl | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/damon/vaddr.c damon_young_pmd_entry() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vma->flags.__vma_flags | 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 |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/damon/vaddr.c damos_va_migrate_pmd_entry() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vma->flags.__vma_flags | 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 |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/damon/vaddr.c damos_va_stat_pmd_entry() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
fs/proc/task_mmu.c clear_refs_pte_range() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | addr | 1-u64max |
| DATA_SOURCE | 1 | addr | $1 [m] |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
fs/proc/task_mmu.c pte_is_pinned() -> vm_normal_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_mm | 4096-ptr_max |
| PARAM_VALUE | 1 | addr | 1-u64max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 1-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/ksm.c break_ksm_pmd_entry() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vma->flags.__vma_flags | 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 |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 1 | addr | $1 [m] |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c do_numa_page() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 0 | vma->vm_flags | 1-u64max |
| PARAM_VALUE | 1 | addr | 0,4096-u64max |
| DATA_SOURCE | 2 | pte | r pte_modify |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 0,4096-u64max[c] |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | rcu_read | ||
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/mempolicy.c queue_folios_pte_range() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 0,4096-ptr_max |
| PARAM_VALUE | 1 | addr | 1-u64max |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mlock.c mlock_pte_range() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | addr | 1-u64max |
| DATA_SOURCE | 1 | addr | $1 [m] |
| DATA_SOURCE | 2 | pte | r ptep_get |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/khugepaged.c collapse_check_pte() -> vm_normal_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| CAPPED_DATA | 1 | addr | 1 |
| CAPPED_DATA | 1 | addr | 1 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | pte | $0 |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 0-2093056,2097152-18446744073709551614[c] |
| UNITS | 1 | addr | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &vma->anon_vma->root->rwsem | ||
| HALF_LOCKED2 | pte_ptl | ||
| HALF_LOCKED2 | ptl |