Defined in 2 files as a prototype:
- arch/sh/include/asm/pgalloc.h, line 17 (as a prototype)
- arch/x86/include/asm/pgalloc.h, line 95 (as a prototype)
Defined in 6 files as a macro:
- arch/arm/include/asm/pgalloc.h, line 41 (as a macro)
- arch/arm/include/asm/pgalloc.h, line 43 (as a macro)
- arch/sparc/include/asm/pgalloc_32.h, line 36 (as a macro)
- arch/sparc/include/asm/pgalloc_64.h, line 41 (as a macro)
- arch/um/include/asm/pgtable-4level.h, line 61 (as a macro)
- include/asm-generic/pgtable-nopmd.h, line 38 (as a macro)
Defined in 15 files as a function:
- arch/alpha/include/asm/pgalloc.h, line 29 (as a function)
- arch/arc/include/asm/pgalloc.h, line 81 (as a function)
- arch/arm/include/asm/pgalloc.h, line 26 (as a function)
- arch/arm64/include/asm/pgalloc.h, line 29 (as a function)
- arch/loongarch/include/asm/pgalloc.h, line 29 (as a function)
- arch/m68k/include/asm/motorola_pgalloc.h, line 92 (as a function)
- arch/mips/include/asm/pgalloc.h, line 39 (as a function)
- arch/parisc/include/asm/pgalloc.h, line 26 (as a function)
- arch/powerpc/include/asm/book3s/64/pgalloc.h, line 131 (as a function)
- arch/powerpc/include/asm/nohash/64/pgalloc.h, line 34 (as a function)
- arch/riscv/include/asm/pgalloc.h, line 35 (as a function)
- arch/s390/include/asm/pgalloc.h, line 128 (as a function)
- arch/sh/mm/pgtable.c, line 45 (as a function)
- arch/x86/include/asm/pgalloc.h, line 97 (as a function)
- arch/x86/mm/pgtable.c, line 126 (as a function)
Referenced in 26 files:
- arch/arm/mm/idmap.c, line 44
- arch/arm64/mm/trans_pgd.c, line 71
- arch/loongarch/mm/init.c, line 178
- arch/loongarch/mm/kasan_init.c, line 140
- arch/mips/kvm/mmu.c, line 126
- arch/parisc/mm/init.c
- arch/powerpc/kvm/book3s_64_mmu_radix.c, line 708
- arch/powerpc/mm/book3s64/radix_pgtable.c
- arch/powerpc/mm/kasan/init_book3e_64.c
- arch/powerpc/mm/kasan/init_book3s_64.c, line 71
- arch/powerpc/mm/nohash/book3e_pgtable.c, line 105
- arch/riscv/kernel/hibernate.c, line 208
- arch/s390/boot/vmem.c
- arch/s390/mm/vmem.c
- arch/sh/mm/init.c, line 135
- arch/sparc/mm/init_64.c, line 1811
- arch/x86/mm/init_64.c
- arch/x86/mm/kasan_init_64.c, line 91
- arch/x86/mm/pgtable.c
- mm/debug_vm_pgtable.c, line 524
- mm/hugetlb.c, line 7005
- mm/kasan/init.c
- mm/memory.c, line 6971
- mm/mremap.c, line 470
- mm/percpu.c, line 3174
- mm/sparse-vmemmap.c, line 216
Smatch caller information:
arch/x86/mm/init_64.c fill_pmd() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 1-u64max |
| DATA_SOURCE | 1 | pud | $0 |
| DATA_SOURCE | 2 | pmd | r spp_getpage |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/mm/init_64.c pud_populate_init() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 0,18379471554275704832,18379471554275708928-18379471554275729408,18446612682070032384,18446612682070036480-18446612682070056960 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pud | $1 |
| DATA_SOURCE | 2 | pmd | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &init_mm.page_table_lock | ||
| HALF_LOCKED2 | irq | ||
| TYPE_LOCK | (struct mm_struct)->page_table_lock |
mm/percpu.c pcpu_populate_pte() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 1-u64max |
| DATA_SOURCE | 1 | pud | r pud_offset |
| DATA_SOURCE | 2 | pmd | r __memblock_alloc_or_panic |
| NOCHECK_CALL | |||
| LOCK2 | irq |
mm/kasan/init.c kasan_populate_early_shadow() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| DATA_SOURCE | 1 | pud | r pud_offset |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
mm/kasan/init.c zero_p4d_populate() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| DATA_SOURCE | 1 | pud | r pud_offset |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
mm/kasan/init.c zero_pud_populate() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
mm/kasan/init.c zero_pud_populate() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 1-u64max |
| DATA_SOURCE | 2 | pmd | r early_alloc |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
mm/hugetlb.c huge_pmd_share() -> pud_populate()
| 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->page_table_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | mm->vma_writer_wait.task->sched_class->uclamp_enabled | 0-1 |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 0,4096-ptr_max |
| BUF_SIZE | 0 | mm | (-1)-s32max |
| BUF_SIZE | 0 | mm | (-1)-s32max |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pud | $3 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &mapping->i_mmap_rwsem | ||
| LOCK2 | 0 | &mm->page_table_lock | |
| 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 | ||
| TYPE_LOCK | (struct address_space)->i_mmap_rwsem | ||
| TYPE_LOCK | (struct mm_struct)->page_table_lock |
mm/mremap.c move_normal_pud() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 18379471554275704832-18383975153903071232 |
| DATA_SOURCE | 1 | pud | $2 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| UNITS | 0 | mm | unit_byte |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| HALF_LOCKED2 | new_ptl | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
arch/x86/mm/kasan_init_64.c kasan_populate_pud() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 1-u64max |
| DATA_SOURCE | 1 | pud | $0 |
| DATA_SOURCE | 2 | pmd | r early_alloc |
| NOCHECK_CALL | |||
| LOCK2 | irq |
mm/memory.c __pmd_alloc() -> pud_populate()
| 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 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 18379471554275704832,18446612682070032384 |
| BUF_SIZE | 0 | mm | s32min-s32max |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pud | $1 |
| DATA_SOURCE | 2 | pmd | r pmd_alloc_one_noprof |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | mm->context.ldt->nr_entries | 1-8192[c] |
| UNITS | 0 | mm | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | 0 | &mm->context.ldt_usr_sem | |
| HALF_LOCKED2 | 0 | &mm->mmap_lock |
mm/debug_vm_pgtable.c pud_populate_tests() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PREEMPT_ADD | |||
| NOCHECK_CALL |
arch/x86/mm/pgtable.c pgd_prepopulate_pmd() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | mm | $0 |
| NOCHECK_CALL |
arch/x86/mm/pgtable.c pgd_prepopulate_user_pmd() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | mm | $0 |
| NOCHECK_CALL |
mm/sparse-vmemmap.c vmemmap_pud_populate() -> pud_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pud | 4096-ptr_max |
| PARAM_VALUE | 2 | pmd | 1-u64max |
| DATA_SOURCE | 1 | pud | r pud_offset |
| DATA_SOURCE | 2 | pmd | r vmemmap_alloc_block_zero |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |