Defined in 3 files as a macro:

Defined in 4 files as a function:

Referenced in 41 files:

Smatch caller information:

arch/x86/mm/init_64.c kernel_ident_mapping_free() -> pgd_present()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

arch/x86/mm/init_64.c kernel_ident_mapping_init() -> pgd_present()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 irq

arch/x86/mm/init_64.c pgd_populate_safe() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &init_mm.page_table_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

arch/x86/mm/init_64.c remove_pagetable() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

mm/userfaultfd.c userfaultfd_must_wait() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/machine_kexec_64.c init_transition_pgtable() -> pgd_present()

Type Parameter Key Value

arch/x86/mm/fault.c dump_pagetable() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

arch/x86/mm/fault.c spurious_kernel_fault() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD

mm/kasan/init.c kasan_remove_zero_shadow() -> pgd_present()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

mm/rmap.c mm_find_pmd() -> pgd_present()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->map_changing_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &ksm_thread_mutex

mm/page_vma_mapped.c page_vma_mapped_walk() -> pgd_present()

Type Parameter Key Value
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_pte_offset() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/memory.c __p4d_alloc() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->page_table_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/memory.c __print_bad_page_map_pgtable() -> pgd_present()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

mm/memory-failure.c dev_pagemap_mapping_shift() -> pgd_present()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &av->root->rwsem
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 global &mf_mutex

arch/x86/xen/mmu_pv.c xen_early_virt_to_phys() -> pgd_present()

Type Parameter Key Value
DATA_SOURCE 0 pgd r native_make_pgd
LOCK2 irq