Defined in 1 files as a function:
Referenced in 23 files:
- arch/arm/mm/mmu.c, line 995
- arch/arm/mm/pgd.c
- arch/arm64/mm/hugetlbpage.c, line 247
- arch/loongarch/mm/hugetlbpage.c, line 25
- arch/mips/mm/hugetlbpage.c, line 33
- arch/nios2/mm/ioremap.c, line 94
- arch/riscv/mm/hugetlbpage.c, line 43
- arch/riscv/mm/init.c, line 1405
- arch/s390/mm/hugetlbpage.c, line 192
- arch/sh/mm/hugetlbpage.c, line 35
- arch/sh/mm/init.c, line 54
- arch/x86/kernel/espfix_64.c, line 115
- arch/x86/kernel/tboot.c, line 123
- arch/x86/mm/init_64.c, line 1304
- arch/x86/platform/efi/efi_64.c, line 82
- mm/debug_vm_pgtable.c, line 1191
- mm/hugetlb.c, line 7134
- mm/kasan/init.c, line 271
- mm/khugepaged.c, line 1859
- mm/memory.c
- mm/migrate_device.c, line 1000
- mm/mremap.c, line 118
- mm/userfaultfd.c, line 292
Smatch caller information:
arch/x86/mm/init_64.c preallocate_vmalloc_pages() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | address | 0,549755813888-18446718784942112767 |
| CAPPED_DATA | 2 | address | 1 |
| CAPPED_DATA | 2 | address | 1 |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| LOCK2 | irq |
arch/x86/kernel/tboot.c map_tboot_page() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | address | 0,4096-u64max |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $0 |
| UNITS | 2 | address | unit_byte |
mm/userfaultfd.c mm_alloc_pmd() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $1 |
| NOSPEC | 2 | address | |
| NOSPEC | 2 | address | |
| USER_DATA | 2 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 2 | address | |
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| HALF_LOCKED2 | &state.ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/kasan/init.c kasan_populate_early_shadow() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/espfix_64.c init_espfix_bsp() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | address | 18446742974197923840 |
| LOCK2 | irq |
mm/mprotect.c change_protection_range() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-u64max |
| CAPPED_DATA | 2 | address | 1 |
| CAPPED_DATA | 2 | address | 1 |
| DATA_SOURCE | 2 | address | $2 [m] |
| NOSPEC | 2 | address | |
| NOSPEC | 2 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | address | 0-u64max[c] |
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| HALF_LOCKED2 | &dst_mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | _T->lock |
mm/hugetlb.c huge_pte_alloc() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->vma_writer_wait.task->sched_class->uclamp_enabled | 0-1 |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $2 |
| NOSPEC | 2 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | address | 0-u64max |
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| 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 alloc_new_pud() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $1 |
| USER_DATA | 2 | address | 0-u64max |
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/migrate_device.c migrate_vma_insert_page() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| HALF_LOCKED2 | &drm->dmem->mutex |
mm/memory.c __handle_mm_fault() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $1 |
| NOSPEC | 2 | address | |
| NOSPEC | 2 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | address | 0-u64max |
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c copy_p4d_range() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->context.execute_only_pkey | (-1) |
| PARAM_VALUE | 0 | mm->context.ldt | 0 |
| PARAM_VALUE | 0 | mm->context.ldt_usr_sem.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->context.lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->context.pkey_allocation_map | 1 |
| PARAM_VALUE | 0 | mm->context.tlb_gen.counter | 0 |
| PARAM_VALUE | 0 | mm->context.untag_mask | u64max |
| PARAM_VALUE | 0 | mm->def_flags | 0,1073741824 |
| PARAM_VALUE | 0 | mm->exe_file | 0,4096-ptr_max |
| PARAM_VALUE | 0 | mm->hugetlb_usage.counter | 0 |
| PARAM_VALUE | 0 | mm->ioctx_table | 0 |
| PARAM_VALUE | 0 | mm->iommu_mm | 0 |
| PARAM_VALUE | 0 | mm->locked_vm | 0 |
| PARAM_VALUE | 0 | mm->lru_gen.bitmap | 0 |
| PARAM_VALUE | 0 | mm->lru_gen.memcg | 0 |
| PARAM_VALUE | 0 | mm->map_count | 0-s32max |
| PARAM_VALUE | 0 | mm->mm_cid.lock.magic | 3735899821 |
| PARAM_VALUE | 0 | mm->mm_cid.lock.owner | (-1) |
| PARAM_VALUE | 0 | mm->mm_cid.lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | mm->mm_cid.max_cids | 0 |
| PARAM_VALUE | 0 | mm->mm_cid.mode | 0 |
| PARAM_VALUE | 0 | mm->mm_cid.mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mm_cid.pcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mm_cid.pcpu_thrs | 0 |
| PARAM_VALUE | 0 | mm->mm_cid.update_deferred | 0 |
| PARAM_VALUE | 0 | mm->mm_cid.users | 0 |
| PARAM_VALUE | 0 | mm->mm_count.counter | 1 |
| PARAM_VALUE | 0 | mm->mm_id | 0-s32max |
| PARAM_VALUE | 0 | mm->mm_mt.ma_flags | 771 |
| PARAM_VALUE | 0 | mm->mm_mt.ma_root | 0 |
| PARAM_VALUE | 0 | mm->mm_users.counter | 1 |
| PARAM_VALUE | 0 | mm->mmap_lock.count.counter | 0 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | mm->mmap_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->mmap_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | mm->mmap_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | mm->notifier_subscriptions | 0 |
| PARAM_VALUE | 0 | mm->owner | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->pgd | 18446612682070032384 |
| PARAM_VALUE | 0 | mm->pinned_vm.counter | 0 |
| PARAM_VALUE | 0 | mm->sc_stat.cpu | (-1) |
| PARAM_VALUE | 0 | mm->sc_stat.footprint | 0 |
| PARAM_VALUE | 0 | mm->sc_stat.lock.magic | 3735899821 |
| PARAM_VALUE | 0 | mm->sc_stat.lock.owner | (-1) |
| PARAM_VALUE | 0 | mm->sc_stat.lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | mm->sc_stat.nr_running_avg | 0 |
| PARAM_VALUE | 0 | mm->sc_stat.pcpu_sched | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->uprobes_state.xol_area | 0 |
| PARAM_VALUE | 0 | mm->vma_writer_wait.task | 0 |
| CAPPED_DATA | 0 | mm->mm_id | 1 |
| DATA_SOURCE | 1 | pgd | $2 |
| DATA_SOURCE | 2 | address | $4 |
| TERMINATED | 0 | mm->mm_lock_seq.dep_map.name | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/memory.c remap_p4d_range() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-u64max |
| PARAM_VALUE | 2 | address | 0-18446744073709551614 |
| CAPPED_DATA | 2 | address | 1 |
| CAPPED_DATA | 2 | address | 1 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pgd | $1 |
| DATA_SOURCE | 2 | address | $2 |
| BIT_INFO | 2 | address | 0x0,0xfffffffffffff000 |
| BIT_INFO | 2 | address | 0x0,0xfffffffffffff000 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | address | 0-18446744073709551614[c] |
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
mm/memory.c walk_to_pmd() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->context.ldt_usr_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | mm->mmap_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | mm->vma_writer_wait.task->sched_class->uclamp_enabled | 0-1 |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| BUF_SIZE | 0 | mm | (-1)-s32max |
| BUF_SIZE | 0 | mm | (-1)-s32max |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $1 |
| NOSPEC | 2 | address | |
| NOSPEC | 2 | address | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | mm->context.ldt->nr_entries | 1-8192[c] |
| USER_DATA | 2 | address | 0-u64max |
| UNITS | 0 | mm | unit_byte |
| UNITS | 2 | address | unit_byte |
| HALF_LOCKED2 | 0 | &mm->context.ldt_usr_sem | |
| HALF_LOCKED2 | 0 | &mm->mmap_lock |
arch/x86/platform/efi/efi_64.c efi_alloc_page_tables() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pgd | 18379471554275708920,18446612682070036472 |
| PARAM_VALUE | 2 | address | 18446744000695107584 |
mm/debug_vm_pgtable.c init_args() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| CAPPED_DATA | 2 | address | 1 |
| CAPPED_DATA | 2 | address | 1 |
| DATA_SOURCE | 0 | mm | r mm_alloc |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | r get_random_vaddr |
mm/khugepaged.c set_huge_pmd() -> p4d_alloc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 0 | mm->context.asid_transition | 1 |
| PARAM_VALUE | 2 | address | 0 |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | address | $1 |
| NOSPEC | 2 | address | |
| NOSPEC | 2 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | address | 0[c] |
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |