Documented in 1 files:

Defined in 1 files as a function:

Referenced in 43 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/huge_memory.c folio_mk_pmd() -> folio_pfn()

Type Parameter Key Value
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 0 &folio->private->lock

mm/huge_memory.c folio_mk_pud() -> folio_pfn()

Type Parameter Key Value
DATA_SOURCE 0 folio $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &dax_srcu

mm/huge_memory.c huge_zero_init() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r alloc_huge_zero_folio

mm/huge_memory.c insert_pmd() -> folio_pfn()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING

mm/huge_memory.c insert_pud() -> folio_pfn()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &dax_srcu

mm/huge_memory.c remove_migration_pmd() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $1
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/huge_memory.c remove_migration_pmd() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $1
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

arch/x86/kvm/../../../virt/kvm/guest_memfd.c folio_file_pfn() -> folio_pfn()

Type Parameter Key Value
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
UNITS 0 folio unit_page
HALF_LOCKED2 0 &folio->private->lock

fs/dax.c dax_pmd_load_hole() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 1-u64max
DATA_SOURCE 0 folio r mm_get_huge_zero_folio
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &mapping->invalidate_lock

mm/userfaultfd.c folio_mk_pte() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
LOCK2 &ctx->map_changing_lock
LOCK2 rcu_read
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

lib/test_hmm.c dmirror_devmem_folio_split() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 rcu_read

lib/test_hmm.c dmirror_devmem_folio_split() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/rmap.c folio_referenced_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/rmap.c page_mkclean_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

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

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &resv_map->rw_sema
HALF_LOCKED2 &vma->vm_private_data->rw_sema
HALF_LOCKED2 0 &folio->private->lock

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 &resv_map->rw_sema
HALF_LOCKED2 &vma->vm_private_data->rw_sema
HALF_LOCKED2 0 &folio->private->lock

mm/rmap.c try_to_unmap_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/rmap.c try_to_unmap_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/rmap.c try_to_unmap_poisoned_hugetlb_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/rmap.c try_to_unmap_poisoned_hugetlb_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/memory_hotplug.c do_migrate_range() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio r _compound_head
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
LOCK2 &dev->mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex

mm/memory_hotplug.c do_migrate_range() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
LOCK2 &dev->mutex
LOCK2 global &pcp_batch_high_lock
HALF_LOCKED2 &device->physical_node_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &device_hotplug_lock
TYPE_LOCK (struct device)->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &folio->private->lock

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/hugetlb.c folio_mk_pte() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 &state.ctx->map_changing_lock
HALF_LOCKED2 dst_ptl
HALF_LOCKED2 src_ptl
HALF_LOCKED2 vmf->ptl

mm/hugetlb.c hugetlb_bootmem_init_migratetype() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0

mm/hugetlb.c hugetlb_folio_init_tail_vmemmap() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0

mm/ksm.c folio_migrate_ksm() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
CAPPED_DATA 0 folio->mapping 1
DATA_SOURCE 0 folio $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ai->migrate_lock
HALF_LOCKED2 &ctx->completion_lock
HALF_LOCKED2 &ctx->ring_lock
HALF_LOCKED2 flags

mm/ksm.c folio_migrate_ksm() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio->mapping 1
DATA_SOURCE 0 folio $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 folio->index
HALF_LOCKED2 &ai->migrate_lock
HALF_LOCKED2 &ctx->completion_lock
HALF_LOCKED2 &ctx->ring_lock
HALF_LOCKED2 flags

mm/ksm.c stable_tree_insert() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
LOCK2 global &ksm_thread_mutex

mm/ksm.c stable_tree_search() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r _compound_head
LOCK2 global &ksm_thread_mutex

mm/ksm.c write_protect_page() -> folio_pfn()

Type Parameter Key Value
DATA_SOURCE 0 folio $1
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/ksm.c write_protect_page() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $1
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

drivers/gpu/drm/i915/gem/i915_gem_shmem.c shmem_sg_alloc_table() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r shmem_read_folio_gfp
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/i915/gem/i915_gem_shmem.c shmem_sg_alloc_table() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r shmem_read_folio_gfp
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c free_unref_folios() -> folio_pfn()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/page_alloc.c free_unref_folios() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

mm/migrate_device.c folio_mk_pmd() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &drm->dmem->mutex

mm/migrate_device.c migrate_device_coherent_folio() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/migrate_device.c migrate_device_coherent_folio() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r folio_alloc_noprof
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

mm/vmscan.c shrink_folio_list() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r lru_to_folio
RX_PATH
TASK_NOT_RUNNING

mm/memory.c folio_mk_pmd() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
HALF_LOCKED2 rcu_read

mm/memory.c folio_mk_pte() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 dst_ptl
HALF_LOCKED2 rcu_read
HALF_LOCKED2 src_ptl
HALF_LOCKED2 vmf->ptl

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

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
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 numa_rebuild_large_mapping() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 rcu_read

mm/memory-failure.c unmap_poisoned_folio() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 folio unit_page
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &mf_mutex
HALF_LOCKED2 global &pcp_batch_high_lock

drivers/gpu/drm/drm_gem.c drm_gem_get_pages() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio r shmem_read_folio_gfp
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &etnaviv_obj->lock
HALF_LOCKED2 &omap_obj->lock
HALF_LOCKED2 obj->resv

mm/gup.c pofs_next_folio() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/damon/ops-common.c damon_folio_mkold_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

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

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

fs/hugetlbfs/inode.c hugetlb_unmap_file_folio() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

mm/memfd_luo.c memfd_luo_preserve_folios() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
LOCK2 &inode->i_rwsem
LOCK2 _T->lock
TYPE_LOCK (struct inode)->i_rwsem

mm/migrate.c remove_migration_pte() -> folio_pfn()

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

mm/damon/core.c damos_calc_eligible_bytes() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio r damon_get_folio

kernel/liveupdate/kexec_handover.c kho_preserve_folio() -> folio_pfn()

Type Parameter Key Value
DATA_SOURCE 0 folio $0
RX_PATH
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 _T->lock

kernel/liveupdate/kexec_handover.c kho_unpreserve_folio() -> folio_pfn()

Type Parameter Key Value
DATA_SOURCE 0 folio $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 _T->lock

mm/page_idle.c page_idle_clear_pte_refs_one() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 0,4096-ptr_max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
CAPPED_DATA 0 folio 1
DATA_SOURCE 0 folio $0
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
HALF_LOCKED2 &anon_vma->root->rwsem
HALF_LOCKED2 0 &folio->private->lock

mm/swap_state.c __swap_cache_do_add_folio() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
DATA_SOURCE 0 folio $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 folio->index
HALF_LOCKED2 &ci->lock

mm/swap_state.c __swap_cache_replace_folio() -> folio_pfn()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
BUF_SIZE 0 folio->private (-1),1-s32max
DATA_SOURCE 0 folio $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 folio->index
LOCK2 irq