Defined in 1 files as a macro:
Defined in 1 files as a function:
Referenced in 7 files:
- arch/x86/kvm/mmu/spte.h, line 253
- fs/dax.c, line 1400
- fs/proc/vmcore.c, line 528
- mm/huge_memory.c, line 3122
- mm/memory.c, line 5451
- mm/migrate.c, line 325
- mm/userfaultfd.c
Smatch caller information:
mm/huge_memory.c __split_huge_zero_page_pmd() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOSPEC | 0 | addr | |
| NOSPEC | 0 | addr | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | addr | 0,4096,2097152-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | addr | |
| UNITS | 0 | addr | unit_byte |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema | ||
| HALF_LOCKED2 | ptl |
fs/dax.c dax_load_hole() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOSPEC | 0 | addr | |
| NOSPEC | 0 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | addr | 0-u64max[c] |
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | &inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock |
mm/userfaultfd.c mfill_atomic_pte_zeropage() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| UNITS | 0 | addr | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c move_zeropage_pte() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | addr | $3 |
| NOSPEC | 0 | addr | |
| NOSPEC | 0 | addr | |
| USER_DATA | 0 | addr | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | addr | |
| UNITS | 0 | addr | unit_byte |
| LOCK2 | &ctx->map_changing_lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
arch/x86/kvm/mmu/mmu.c kvm_mmu_get_dummy_root() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 0 |
| HALF_LOCKED2 | &vcpu->kvm->srcu | ||
| HALF_LOCKED2 | &vcpu->mutex |
fs/proc/vmcore.c remap_oldmem_pfn_checked() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &vmcore_cb_srcu | ||
| HALF_LOCKED2 | &ipcp->lock |
mm/memory.c do_anonymous_page() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | addr | 0,4096-u64max |
| CAPPED_DATA | 0 | addr | 1 |
| CAPPED_DATA | 0 | addr | 1 |
| NOSPEC | 0 | addr | |
| NOSPEC | 0 | addr | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | addr | 0,4096-u64max[c] |
| UNITS | 0 | addr | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/migrate.c try_to_map_unused_to_zeropage() -> zero_pfn()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &folio->private->lock |