Defined in 9 files as a macro:
- arch/arc/include/asm/pgtable-levels.h, line 131 (as a macro)
- arch/arm/include/asm/pgtable-3level.h, line 116 (as a macro)
- arch/arm64/include/asm/pgtable.h, line 875 (as a macro)
- arch/m68k/include/asm/motorola_pgtable.h, line 130 (as a macro)
- arch/parisc/include/asm/pgtable.h, line 294 (as a macro)
- arch/powerpc/include/asm/nohash/64/pgtable.h, line 122 (as a macro)
- arch/sh/include/asm/pgtable-3level.h, line 49 (as a macro)
- arch/sparc/include/asm/pgtable_64.h, line 856 (as a macro)
- arch/um/include/asm/pgtable-4level.h, line 60 (as a macro)
Defined in 10 files as a function:
- arch/alpha/include/asm/pgtable.h, line 224 (as a function)
- arch/arm/include/asm/pgtable-2level.h, line 195 (as a function)
- arch/loongarch/include/asm/pgtable.h, line 213 (as a function)
- arch/mips/include/asm/pgtable-64.h, line 288 (as a function)
- arch/powerpc/include/asm/book3s/64/pgtable.h, line 875 (as a function)
- arch/riscv/include/asm/pgtable-64.h, line 177 (as a function)
- arch/s390/include/asm/pgtable.h, line 724 (as a function)
- arch/sparc/include/asm/pgtable_32.h, line 190 (as a function)
- arch/x86/include/asm/pgtable.h, line 1038 (as a function)
- include/asm-generic/pgtable-nopmd.h, line 32 (as a function)
Referenced in 62 files:
- arch/arc/mm/fault.c, line 56
- arch/arm/mm/fault.c, line 276
- arch/arm64/include/asm/pgtable.h, line 880
- arch/arm64/mm/hugetlbpage.c, line 299
- arch/arm64/mm/mmu.c
- arch/csky/mm/fault.c, line 149
- arch/loongarch/kvm/mmu.c, line 710
- arch/loongarch/mm/fault.c, line 54
- arch/loongarch/mm/hugetlbpage.c, line 46
- arch/m68k/kernel/sys_m68k.c, line 485
- arch/m68k/mm/init.c, line 95
- arch/m68k/mm/motorola.c
- arch/mips/kvm/mmu.c
- arch/mips/mm/fault.c, line 306
- arch/mips/mm/hugetlbpage.c, line 54
- arch/nios2/mm/fault.c, line 249
- arch/openrisc/mm/fault.c, line 330
- arch/powerpc/include/asm/book3s/64/pgtable.h, line 1225
- arch/powerpc/kvm/book3s_64_mmu_radix.c
- arch/powerpc/mm/book3s64/pgtable.c
- arch/powerpc/mm/book3s64/radix_pgtable.c, line 872
- arch/riscv/include/asm/pgtable-64.h
- arch/riscv/kvm/mmu.c, line 481
- arch/riscv/mm/fault.c, line 208
- arch/riscv/mm/hugetlbpage.c, line 108
- arch/riscv/mm/init.c, line 1631
- arch/riscv/mm/pageattr.c, line 457
- arch/riscv/mm/pgtable.c, line 160
- arch/s390/include/asm/pgtable.h, line 743
- arch/s390/mm/gmap_helpers.c, line 60
- arch/s390/mm/hugetlbpage.c
- arch/sh/kernel/io_trapped.c, line 152
- arch/sh/mm/fault.c
- arch/um/kernel/skas/uaccess.c, line 36
- arch/um/kernel/tlb.c, line 125
- arch/x86/include/asm/pgtable.h, line 1729
- arch/x86/kernel/espfix_64.c, line 164
- arch/x86/kernel/machine_kexec_64.c, line 198
- arch/x86/kvm/mmu/mmu.c, line 3340
- arch/x86/mm/fault.c
- arch/x86/mm/ident_map.c
- arch/x86/mm/init_64.c, line 1179
- arch/x86/mm/pat/set_memory.c
- arch/x86/mm/pgtable.c
- arch/x86/xen/mmu_pv.c, line 1934
- arch/xtensa/mm/fault.c
- include/linux/huge_mm.h, line 485
- include/linux/pgtable.h, line 1353
- kernel/events/core.c, line 8540
- mm/gup.c
- mm/hmm.c
- mm/huge_memory.c, line 3023
- mm/hugetlb.c, line 7187
- mm/kasan/init.c, line 402
- mm/memory-failure.c, line 356
- mm/memory.c
- mm/page_vma_mapped.c, line 239
- mm/pagewalk.c
- mm/rmap.c, line 900
- mm/userfaultfd.c, line 2737
- mm/vmalloc.c, line 226
- mm/vmscan.c, line 3807
Smatch caller information:
mm/huge_memory.c zap_huge_pud() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_huge_get_and_clear_full |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
arch/x86/mm/init_64.c free_pud() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/mm/init_64.c ident_pud_init() -> pud_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 ident_pud_init() -> pud_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 pud_populate_safe() -> pud_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_pud_table() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/mm/init_64.c set_pud_init() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &init_mm.page_table_lock | ||
| HALF_LOCKED2 | irq |
mm/pagewalk.c folio_walk_start() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &split_debug_mutex | ||
| HALF_LOCKED2 | global &ksm_thread_mutex |
mm/pagewalk.c folio_walk_start() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &split_debug_mutex | ||
| HALF_LOCKED2 | global &ksm_thread_mutex |
mm/pagewalk.c folio_walk_start() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &split_debug_mutex | ||
| HALF_LOCKED2 | global &ksm_thread_mutex |
mm/pagewalk.c folio_walk_start() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &split_debug_mutex | ||
| HALF_LOCKED2 | global &ksm_thread_mutex |
mm/pagewalk.c walk_pmd_range() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/pagewalk.c walk_pud_range() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &init_mm.mmap_lock |
mm/pagewalk.c walk_pud_range() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &init_mm.mmap_lock |
mm/userfaultfd.c userfaultfd_must_wait() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kernel/machine_kexec_64.c init_transition_pgtable() -> pud_present()
| Type | Parameter | Key | Value |
|---|
arch/x86/mm/fault.c dump_pagetable() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
arch/x86/mm/fault.c spurious_kernel_fault() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD |
mm/kasan/init.c kasan_remove_pud_table() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev->mutex |
mm/rmap.c mm_find_pmd() -> pud_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() -> pud_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 |
arch/x86/kernel/espfix_64.c init_espfix_ap() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &espfix_init_mutex | ||
| HALF_LOCKED2 | irq |
mm/hugetlb.c huge_pte_offset() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mapping->i_mmap_rwsem |
arch/x86/kvm/mmu/mmu.c host_pfn_mapping_level() -> pud_present()
| 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 |
mm/vmscan.c walk_pud_range() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | global &init_mm.mmap_lock |
mm/memory.c __pmd_alloc() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c __print_bad_page_map_pgtable() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | ptl |
mm/memory.c follow_pfnmap_start() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c follow_pfnmap_start() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mincore.c pud_is_huge() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
kernel/events/core.c perf_get_pgtable_size() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| LOCK2 | rcu_read |
mm/memory-failure.c dev_pagemap_mapping_shift() -> pud_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 |
mm/gup.c follow_huge_pud() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/gup.c follow_pud_mask() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/gup.c gup_fast_pud_range() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags |
arch/x86/mm/pat/set_memory.c collapse_large_pages() -> pud_present()
| 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() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
arch/x86/mm/pat/set_memory.c lookup_pmd_address() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &balloon_mutex | ||
| HALF_LOCKED2 | global &list_lock |
mm/vmalloc.c vmap_try_huge_pud() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/hmm.c hmm_vma_walk_pud() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r pudp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/hmm.c pud_to_hmm_pfn_flags() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
arch/x86/mm/pgtable.c pud_set_huge() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/mm/pgtable.c pudp_invalidate() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dst_mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
arch/x86/xen/mmu_pv.c xen_early_virt_to_phys() -> pud_present()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pud | r native_make_pud |
| LOCK2 | irq |