Defined in 2 files as a function:

Referenced in 25 files:

Smatch caller information:

mm/huge_memory.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &oldmm->mmap_lock
HALF_LOCKED2 dst_ptl
HALF_LOCKED2 src_ptl

mm/pagewalk.c folio_walk_start() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &split_debug_mutex
HALF_LOCKED2 global &ksm_thread_mutex

mm/userfaultfd.c check_ptes_for_batched_move() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
LOCK2 &ctx->map_changing_lock
LOCK2 rcu_read
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c move_pages_ptes() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
LOCK2 &ctx->map_changing_lock
LOCK2 rcu_read
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/gup_test.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max

arch/x86/kvm/mmu/spte.c __kvm_is_mmio_pfn() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-4503599627370495
CAPPED_DATA 0 pfn 1
CAPPED_DATA 0 pfn 1
DATA_SOURCE 0 pfn $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 pfn 0-4503599627370495[c]
UNITS 0 pfn unit_page
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 rcu_read

arch/x86/kvm/mmu/spte.c kvm_mmu_is_dummy_root() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-4503599627370495
RX_PATH
TASK_NOT_RUNNING
UNITS 0 pfn unit_page
HALF_LOCKED2 &vcpu->kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 rcu_read

lib/test_hmm.c dmirror_mkentry() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
LOCK2 &dmirror->mutex
TYPE_LOCK (struct dmirror)->mutex

fs/proc/task_mmu.c pagemap_hugetlb_category() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 &vma->vm_file->f_mapping->i_mmap_rwsem

fs/proc/task_mmu.c pagemap_page_category() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/rmap.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &folio->private->lock

mm/mprotect.c can_change_shared_pte_writable() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

fs/proc/page.c stable_page_flags() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
HALF_LOCKED2 &attr->mutex

mm/hugetlb.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &hugetlb_lock
LOCK2 irq

mm/ksm.c break_ksm_pmd_entry() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/ksm.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/ksm.c replace_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
LOCK2 &mm->mmap_lock
LOCK2 global &ksm_thread_mutex
LOCK2 ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

arch/x86/kvm/mmu/mmu.c kvm_mmu_is_dummy_root() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-4503599627370495
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 pfn unit_page
HALF_LOCKED2 &kvm->mmu_lock
HALF_LOCKED2 &vcpu->kvm->mmu_lock

mm/migrate_device.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975264768,9223396226110586880-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

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

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
DATA_SOURCE 0 pfn r pte_pfn
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/migrate_device.c migrate_vma_insert_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
DATA_SOURCE 0 pfn r pte_pfn
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &drm->dmem->mutex

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

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
DATA_SOURCE 0 pfn r pte_pfn
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 ptl
HALF_LOCKED2 rcu_read

mm/memory.c __vm_normal_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
DATA_SOURCE 0 pfn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c __vm_normal_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
CAPPED_DATA 0 pfn 1
CAPPED_DATA 0 pfn 1
DATA_SOURCE 0 pfn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c __vm_normal_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
CAPPED_DATA 0 pfn 1
CAPPED_DATA 0 pfn 1
DATA_SOURCE 0 pfn $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c insert_page_into_pte_locked() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING

mm/memory.c insert_pfn() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING

mm/memory.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
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

mm/memory.c ksm_might_unmap_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl
HALF_LOCKED2 vmf->ptl

mm/memory.c vm_mixed_ok() -> is_zero_pfn()

Type Parameter Key Value
DATA_SOURCE 0 pfn $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 pfn 0-9007199254740990[c]
UNITS 0 pfn unit_page

mm/memory.c vm_mixed_ok() -> is_zero_pfn()

Type Parameter Key Value
DATA_SOURCE 0 pfn $1
NOSPEC 0 pfn
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 pfn 0-9007199254740990[c]
UNITS 0 pfn unit_page

mm/memory.c wp_page_copy() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c wp_page_reuse() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 vmf->ptl
HALF_LOCKED2 &mm->mmap_lock

block/bio.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

mm/gup.c follow_page_pte() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/gup.c get_gate_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

mm/gup.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 pfn unit_page
HALF_LOCKED2 flags

arch/x86/kvm/mmu/tdp_mmu.c kvm_mmu_is_dummy_root() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-4503599627370495
UNITS 0 pfn unit_page

drivers/acpi/apei/einj-core.c einj_error_inject() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-4503599627370495
UNITS 0 pfn unit_page
LOCK2 &attr->mutex
TYPE_LOCK (struct simple_attr)->mutex

mm/migrate.c is_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-12384898975268863,9223396226110586880-u64max
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/hmm.c hmm_vma_handle_pte() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

mm/khugepaged.c ksm_might_unmap_zero_page() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->anon_vma->root->rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/khugepaged.c pte_none_or_zero() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->anon_vma->root->rwsem

mm/khugepaged.c release_pte_pages() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-1099511627775
DATA_SOURCE 0 pfn r pte_pfn
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &vma->anon_vma->root->rwsem
HALF_LOCKED2 pte_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

arch/x86/kvm/vmx/vmx.c kvm_mmu_is_dummy_root() -> is_zero_pfn()

Type Parameter Key Value
PARAM_VALUE 0 pfn 0-4503599627370495
UNITS 0 pfn unit_page