Defined in 2 files as a function:
- include/linux/pgtable.h, line 2029 (as a function)
- include/linux/pgtable.h, line 2040 (as a function)
Referenced in 25 files:
- arch/arm/mm/fault-armv.c, line 201
- arch/arm/mm/flush.c, line 344
- arch/arm64/kvm/mmu.c, line 1509
- arch/csky/abiv1/cacheflush.c
- arch/nios2/mm/cacheflush.c
- arch/s390/mm/gmap_helpers.c, line 196
- arch/sparc/mm/init_64.c, line 466
- arch/x86/kvm/mmu/spte.c, line 112
- arch/x86/kvm/mmu/spte.h, line 258
- drivers/acpi/apei/einj-core.c, line 771
- fs/proc/page.c, line 192
- fs/proc/task_mmu.c
- include/linux/ksm.h, line 33
- include/linux/mm.h, line 2807
- lib/test_hmm.c, line 1408
- mm/gup.c
- mm/hmm.c, line 321
- mm/khugepaged.c
- mm/ksm.c, line 1443
- mm/memory.c
- mm/migrate_device.c
- mm/mprotect.c, line 85
- mm/pagewalk.c, line 1014
- mm/userfaultfd.c
- mm/vmscan.c, line 3446
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 |