Defined in 1 files as a function:

Referenced in 22 files:

Smatch caller information:

mm/damon/vaddr.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/kasan/init.c __p4d_free() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/kasan/init.c __pud_free() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/kasan/init.c pmd_free() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/kasan/init.c pte_free_kernel() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

fs/proc/task_mmu.c hugetlb_pmd_shared() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

fs/proc/task_mmu.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vma->vm_file->f_mapping->i_mmap_rwsem

mm/page_vma_mapped.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 rcu_read

mm/hugetlb.c __huge_pmd_unshare() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->vm_file->f_mapping->i_mmap_rwsem

mm/hugetlb.c __huge_pmd_unshare() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->vm_file->f_mapping->i_mmap_rwsem

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

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x r huge_pte_alloc
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/hugetlb.c huge_pmd_share() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x r hugetlb_walk
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 &vma->vm_file->f_mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/hugetlb.c huge_pmd_share() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x r hugetlb_walk
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mapping->i_mmap_rwsem
LOCK2 &mm->page_table_lock
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 &vma->vm_file->f_mapping->i_mmap_rwsem
TYPE_LOCK (struct address_space)->i_mmap_rwsem
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/hugetlb.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock

mm/memory.c __p4d_free() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832,18446612682070032384
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->page_table_lock
HALF_LOCKED2 &mm->context.ldt_usr_sem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/memory.c __pud_free() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832,18446612682070032384
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->page_table_lock
HALF_LOCKED2 &mm->context.ldt_usr_sem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/memory.c pmd_free() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832,18446612682070032384
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->context.ldt_usr_sem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c pte_free_kernel() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832,18446612682070032384
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/mincore.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/memory-failure.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/mempolicy.c hugetlb_pmd_shared() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/mempolicy.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

arch/x86/mm/pat/set_memory.c pmd_free() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832-18383975153903071232
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

arch/x86/mm/pat/set_memory.c pte_free_kernel() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832-18383975153903071232,18446612682070032384
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

mm/debug_vm_pgtable.c __p4d_free() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
PREEMPT_ADD

mm/debug_vm_pgtable.c __pud_free() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
PREEMPT_ADD

mm/debug_vm_pgtable.c pmd_free() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
PREEMPT_ADD

mm/migrate.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

mm/hugetlb_vmemmap.c pte_free_kernel() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832,18446612682070032384
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &init_mm.page_table_lock
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/hmm.c ptep_lockptr() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 4096-ptr_max
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem

arch/x86/mm/pgtable.c ___p4d_free_tlb() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

arch/x86/mm/pgtable.c ___pmd_free_tlb() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

arch/x86/mm/pgtable.c ___pud_free_tlb() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

arch/x86/mm/pgtable.c __pgd_free() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

arch/x86/mm/pgtable.c free_pmds() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 1-u64max
RX_PATH
TASK_NOT_RUNNING

arch/x86/mm/pgtable.c pgd_list_add() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832,18446612682070032384
DATA_SOURCE 0 x $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &pgd_lock

arch/x86/mm/pgtable.c pgd_list_del() -> virt_to_ptdesc()

Type Parameter Key Value
DATA_SOURCE 0 x $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &pgd_lock
HALF_LOCKED2 &mm->mmap_lock

arch/x86/mm/pgtable.c pgd_set_mm() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832,18446612682070032384
DATA_SOURCE 0 x $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &pgd_lock

arch/x86/mm/pgtable.c pmd_free() -> virt_to_ptdesc()

Type Parameter Key Value
PARAM_VALUE 0 x 18379471554275704832-18383975153903071232
DATA_SOURCE 0 x $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING