Defined in 3 files as a macro:
- arch/arm/include/asm/pgtable-nommu.h, line 21 (as a macro)
- arch/arm64/include/asm/pgtable.h, line 1094 (as a macro)
- arch/m68k/include/asm/pgtable_no.h, line 20 (as a macro)
Defined in 4 files as a function:
- arch/riscv/include/asm/pgtable-64.h, line 351 (as a function)
- arch/s390/include/asm/pgtable.h, line 670 (as a function)
- arch/x86/include/asm/pgtable.h, line 1144 (as a function)
- include/asm-generic/pgtable-nop4d.h, line 21 (as a function)
Referenced in 54 files:
- arch/arc/mm/fault.c, line 40
- arch/arm/lib/uaccess_with_memcpy.c, line 34
- arch/arm/mm/dump.c, line 407
- arch/arm/mm/kasan_init.c, line 138
- arch/arm64/include/asm/pgtable.h, line 1098
- arch/arm64/mm/fault.c, line 167
- arch/arm64/mm/kasan_init.c, line 105
- arch/arm64/mm/mmu.c
- arch/arm64/mm/pageattr.c, line 402
- arch/arm64/mm/trans_pgd.c
- arch/loongarch/kvm/mmu.c, line 702
- arch/loongarch/mm/pageattr.c, line 174
- arch/m68k/include/asm/mmu_context.h, line 125
- arch/m68k/mm/mcfmmu.c, line 97
- arch/mips/kvm/mmu.c, line 112
- arch/parisc/kernel/cache.c, line 418
- arch/parisc/kernel/pci-dma.c, line 196
- arch/parisc/mm/hugetlbpage.c, line 65
- arch/powerpc/mm/pgtable.c, line 399
- arch/powerpc/mm/ptdump/hashpagetable.c, line 468
- arch/riscv/kernel/hibernate.c
- arch/riscv/kvm/mmu.c, line 473
- arch/riscv/mm/fault.c, line 47
- arch/riscv/mm/kasan_init.c
- arch/s390/boot/vmem.c, line 456
- arch/s390/mm/gmap_helpers.c, line 52
- arch/s390/mm/pageattr.c, line 316
- arch/s390/mm/vmem.c
- arch/sh/mm/fault.c, line 61
- arch/sh/mm/init.c, line 49
- arch/sparc/kernel/signal32.c, line 318
- arch/sparc/mm/fault_64.c, line 89
- arch/sparc/mm/hugetlbpage.c, line 222
- arch/sparc/mm/init_64.c
- arch/x86/boot/startup/sme.c, line 119
- arch/x86/kvm/mmu/mmu.c, line 3332
- arch/x86/mm/init_64.c
- arch/x86/mm/kasan_init_64.c
- arch/x86/mm/pat/set_memory.c
- arch/x86/mm/pgtable_32.c, line 36
- arch/x86/mm/pti.c
- arch/x86/xen/mmu_pv.c, line 699
- include/linux/mm.h, line 3696
- include/linux/pgtable.h, line 1544
- kernel/events/core.c, line 8524
- mm/debug_vm_pgtable.c
- mm/gup.c
- mm/kasan/init.c, line 268
- mm/kasan/shadow.c, line 194
- mm/memory.c
- mm/percpu.c, line 3160
- mm/pgalloc-track.h, line 13
- mm/sparse-vmemmap.c, line 237
- mm/vmalloc.c, line 838
Smatch caller information:
arch/x86/mm/init_64.c __init_extra_mapping() -> pgd_none()
| Type | Parameter | Key | Value |
|---|
arch/x86/mm/init_64.c fill_p4d() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
arch/x86/mm/init_64.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
arch/x86/mm/init_64.c set_pte_vaddr() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/mm/init_64.c sync_global_pgds_l5() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/mm/init_64.c sync_global_pgds_l5() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &pgd_lock | ||
| LOCK2 | pgt_lock | ||
| HALF_LOCKED2 | irq |
arch/x86/mm/init_64.c sync_global_pgds_l5() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &pgd_lock | ||
| LOCK2 | pgt_lock | ||
| HALF_LOCKED2 | irq |
arch/x86/mm/init_64.c sync_global_pgds_l5() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &pgd_lock | ||
| LOCK2 | pgt_lock | ||
| HALF_LOCKED2 | irq |
arch/x86/kernel/tboot.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|
mm/pagewalk.c pgd_none_or_clear_bad() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/userfaultfd.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| HALF_LOCKED2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/swapfile.c pgd_none_or_clear_bad() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPABLE | 0 | 21 | |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/percpu.c pcpu_populate_pte() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
mm/kasan/init.c kasan_populate_early_shadow() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
mm/kasan/init.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/mm/pti.c pti_clone_pgtable() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | irq |
arch/x86/mm/pti.c pti_user_pagetable_walk_p4d() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | irq |
arch/x86/kernel/espfix_64.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
mm/mprotect.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dst_mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | _T->lock |
mm/mprotect.c pgd_none_or_clear_bad() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dst_mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | _T->lock |
mm/hugetlb.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mapping->i_mmap_rwsem | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock | ||
| HALF_LOCKED2 | &state.ctx->map_changing_lock | ||
| HALF_LOCKED2 | &vma->vm_file->f_mapping->i_mmap_rwsem |
mm/mremap.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mremap.c pgd_none_or_clear_bad() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
arch/x86/kvm/mmu/mmu.c host_pfn_mapping_level() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &kvm->arch.apic_map_lock | ||
| HALF_LOCKED2 | &kvm->arch.apicv_update_lock | ||
| HALF_LOCKED2 | &kvm->lock | ||
| HALF_LOCKED2 | &kvm->mmu_lock | ||
| HALF_LOCKED2 | &kvm->slots_lock | ||
| HALF_LOCKED2 | &kvm->srcu | ||
| HALF_LOCKED2 | rcu_read |
arch/x86/mm/kasan_init_64.c kasan_early_p4d_populate() -> pgd_none()
| Type | Parameter | Key | Value |
|---|
arch/x86/mm/kasan_init_64.c kasan_populate_pgd() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
arch/x86/mm/kasan_init_64.c kasan_shallow_populate_pgds() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
mm/migrate_device.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/memory.c __apply_to_page_range() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
mm/memory.c __apply_to_page_range() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
mm/memory.c follow_pfnmap_start() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock |
mm/memory.c p4d_alloc_track() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
mm/memory.c pgd_none_or_clear_bad() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock |
kernel/events/core.c perf_get_pgtable_size() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pgd | r pgdp_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| LOCK2 | rcu_read |
mm/gup.c follow_page_mask() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/gup.c get_gate_page() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/gup.c gup_fast_pgd_range() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pgd | r pgdp_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags |
arch/x86/boot/startup/sme.c sme_prepare_pgd() -> pgd_none()
| Type | Parameter | Key | Value |
|---|
arch/x86/mm/pat/set_memory.c collapse_large_pages() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &cpa_lock | ||
| LOCK2 | global &pgd_lock | ||
| HALF_LOCKED2 | global &mem_enc_lock |
arch/x86/mm/pat/set_memory.c lookup_address_in_pgd_attr() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
arch/x86/mm/pat/set_memory.c lookup_pmd_address() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &balloon_mutex | ||
| HALF_LOCKED2 | global &list_lock |
arch/x86/mm/pat/set_memory.c populate_pgd() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &cpa_lock | ||
| HALF_LOCKED2 | global &mem_enc_lock |
arch/x86/platform/efi/efi_64.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|
mm/vmalloc.c p4d_alloc_track() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/vmalloc.c pgd_none_or_clear_bad() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &pcpu_alloc_mutex |
mm/vmalloc.c vmalloc_to_page() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bo->mutex | ||
| HALF_LOCKED2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &fbdefio_state->lock | ||
| HALF_LOCKED2 | &hw->hw_info.lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &pds_vfio->state_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &rproc->lock | ||
| HALF_LOCKED2 | &runtime->buffer_mutex | ||
| HALF_LOCKED2 | &service->bulk_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &page_offline_rwsem | ||
| HALF_LOCKED2 | global &pcpu_alloc_mutex | ||
| HALF_LOCKED2 | global &report_lock | ||
| HALF_LOCKED2 | sk |
mm/debug_vm_pgtable.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|
mm/debug_vm_pgtable.c pgd_clear_tests() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pgd | r pgdp_get |
| PREEMPT_ADD | |||
| LOCK2 | &args.mm->page_table_lock | ||
| TYPE_LOCK | (struct mm_struct)->page_table_lock |
mm/debug_vm_pgtable.c pgd_clear_tests() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pgd | r pgdp_get |
| PREEMPT_ADD | |||
| LOCK2 | &args.mm->page_table_lock | ||
| TYPE_LOCK | (struct mm_struct)->page_table_lock |
mm/khugepaged.c p4d_alloc() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/kasan/shadow.c shadow_mapped() -> pgd_none()
| Type | Parameter | Key | Value |
|---|
arch/x86/xen/mmu_pv.c __xen_pgd_walk() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | irq |
mm/sparse-vmemmap.c vmemmap_pgd_populate() -> pgd_none()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |