Defined in 4 files as a macro:

Defined in 23 files as a function:

Referenced in 37 files:

Smatch caller information:

mm/madvise.c folio_pte_batch_flags() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/madvise.c madvise_cold_or_pageout_pte_range() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/madvise.c madvise_free_pte_range() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/damon/vaddr.c damon_hugetlb_mkold() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r huge_ptep_get
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/damon/vaddr.c damon_young_hugetlb_entry() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r huge_ptep_get
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/damon/vaddr.c damon_young_pmd_entry() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/damon/vaddr.c damos_va_filter_young_match() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

fs/proc/task_mmu.c smaps_pte_entry() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/rmap.c folio_pte_batch_flags() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock

mm/rmap.c get_and_clear_full_ptes() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get_and_clear_full
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock

mm/rmap.c try_to_migrate_one() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock
HALF_LOCKED2 &resv_map->rw_sema
HALF_LOCKED2 &vma->vm_private_data->rw_sema

mm/util.c folio_pte_batch_flags() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &folio->private->lock
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

mm/mprotect.c folio_pte_batch_flags() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/mprotect.c modify_prot_start_ptes() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_modify_prot_start
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/mremap.c folio_pte_batch_flags() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get

mm/mremap.c get_and_clear_full_ptes() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get_and_clear_full
LOCK2 &mm->mmap_lock
LOCK2 old_ptl
LOCK2 rcu_read
HALF_LOCKED2 &tsk->signal->exec_update_lock
HALF_LOCKED2 new_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/migrate_device.c migrate_vma_collect_pmd() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

arch/x86/kernel/cpu/sgx/encl.c sgx_encl_test_and_clear_young_cb() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 ptl

mm/vmscan.c folio_pte_batch_flags() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

mm/vmscan.c get_pte_pfn() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

mm/memory.c __wp_page_copy_user() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c folio_pte_batch_flags() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 dst_ptl
LOCK2 rcu_read
LOCK2 src_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/memory.c get_and_clear_full_ptes() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get_and_clear_full
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c zap_present_folio_ptes() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r get_and_clear_full_ptes
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/damon/ops-common.c damon_folio_young_one() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &folio->private->lock

mm/debug_vm_pgtable.c pte_advanced_tests() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte r ptep_get
HALF_LOCKED2 ptl

mm/debug_vm_pgtable.c pte_basic_tests() -> pte_young()

Type Parameter Key Value

mm/debug_vm_pgtable.c pte_basic_tests() -> pte_young()

Type Parameter Key Value

mm/khugepaged.c folio_pte_referenced() -> pte_young()

Type Parameter Key Value
DATA_SOURCE 0 pte $3

arch/x86/mm/pgtable.c ptep_test_and_clear_young() -> pte_young()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 ptl