Defined in 1 files as a macro:
Defined in 4 files as a function:
- arch/arm64/include/asm/pgalloc.h, line 80 (as a function)
- arch/riscv/include/asm/pgalloc.h, line 62 (as a function)
- arch/s390/include/asm/pgalloc.h, line 118 (as a function)
- arch/x86/include/asm/pgalloc.h, line 132 (as a function)
Referenced in 13 files:
- arch/arm/mm/kasan_init.c, line 146
- arch/arm64/mm/trans_pgd.c, line 141
- arch/loongarch/mm/kasan_init.c, line 166
- arch/riscv/kernel/hibernate.c, line 286
- arch/s390/boot/vmem.c
- arch/s390/mm/pgalloc.c, line 97
- arch/s390/mm/vmem.c
- arch/sparc/mm/init_64.c, line 1783
- arch/x86/mm/init_64.c
- arch/x86/mm/kasan_init_64.c
- include/linux/pgalloc.h, line 17
- mm/debug_vm_pgtable.c, line 595
- mm/memory.c, line 6925
Smatch caller information:
arch/x86/mm/init_64.c fill_p4d() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 1-u64max |
| DATA_SOURCE | 1 | pgd | $0 |
| DATA_SOURCE | 2 | p4d | r spp_getpage |
| NOCHECK_CALL | |||
| LOCK2 | irq |
arch/x86/mm/init_64.c pgd_populate_init() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 0,18379471554275704832,18379471554275708928-18379471554275729408,18446612682070032384,18446612682070036480-18446612682070056960 |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pgd | $1 |
| DATA_SOURCE | 2 | p4d | $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() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 1-u64max |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | p4d | r __memblock_alloc_or_panic |
| NOCHECK_CALL | |||
| LOCK2 | irq |
mm/kasan/init.c kasan_populate_early_shadow() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
mm/kasan/init.c kasan_populate_early_shadow() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/mm/kasan_init_64.c kasan_populate_pgd() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 7138969414219841536 |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 1-u64max |
| DATA_SOURCE | 1 | pgd | $0 |
| DATA_SOURCE | 2 | p4d | r early_alloc |
| NOCHECK_CALL | |||
| LOCK2 | irq |
arch/x86/mm/kasan_init_64.c kasan_shallow_populate_pgds() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 1-u64max |
| DATA_SOURCE | 2 | p4d | r early_alloc |
| NOCHECK_CALL | |||
| LOCK2 | irq |
mm/memory.c __p4d_alloc() -> pgd_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->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 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 18379471554275704832,18446612682070032384 |
| BUF_SIZE | 0 | mm | s32min-s32max |
| DATA_SOURCE | 0 | mm | $0 |
| DATA_SOURCE | 1 | pgd | $1 |
| DATA_SOURCE | 2 | p4d | r p4d_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 |
| LOCK2 | 0 | &mm->page_table_lock | |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | &mm->context.ldt_usr_sem | |
| HALF_LOCKED2 | 0 | &mm->mmap_lock | |
| TYPE_LOCK | (struct mm_struct)->page_table_lock |
mm/debug_vm_pgtable.c pgd_populate_tests() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | &args.mm->page_table_lock | ||
| TYPE_LOCK | (struct mm_struct)->page_table_lock |
mm/sparse-vmemmap.c vmemmap_pgd_populate() -> pgd_populate()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | mm | 4096-ptr_max |
| PARAM_VALUE | 1 | pgd | 4096-ptr_max |
| PARAM_VALUE | 2 | p4d | 1-u64max |
| DATA_SOURCE | 1 | pgd | r pgd_offset_pgd |
| DATA_SOURCE | 2 | p4d | r vmemmap_alloc_block_zero |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |