Defined in 3 files as a macro:

Defined in 9 files as a function:

Referenced in 19 files:

Smatch caller information:

arch/x86/mm/init_64.c fill_pud() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 p4d 4096-ptr_max
PARAM_VALUE 2 pud 1-u64max
DATA_SOURCE 1 p4d $0
DATA_SOURCE 2 pud r spp_getpage
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/mm/init_64.c p4d_populate_init() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 2 pud 0,18379471554275704832,18379471554275708928-18379471554275729408,18446612682070032384,18446612682070036480-18446612682070056960
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 p4d $1
DATA_SOURCE 2 pud $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() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 p4d 4096-ptr_max
PARAM_VALUE 2 pud 1-u64max
DATA_SOURCE 2 pud r __memblock_alloc_or_panic
NOCHECK_CALL
LOCK2 irq

mm/kasan/init.c kasan_populate_early_shadow() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

mm/kasan/init.c zero_p4d_populate() -> p4d_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_p4d_populate() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 p4d 4096-ptr_max
PARAM_VALUE 2 pud 1-u64max
DATA_SOURCE 2 pud r early_alloc
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/espfix_64.c init_espfix_bsp() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 2 pud 1448662130779275264
BUF_SIZE 2 pud 4096
DATA_SOURCE 1 p4d r p4d_alloc
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c kasan_populate_p4d() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 p4d 4096-ptr_max
PARAM_VALUE 2 pud 1-u64max
DATA_SOURCE 1 p4d $0
DATA_SOURCE 2 pud r early_alloc
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c kasan_shallow_populate_p4ds() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 p4d 4096-ptr_max
PARAM_VALUE 2 pud 1-u64max
DATA_SOURCE 2 pud r early_alloc
NOCHECK_CALL
LOCK2 irq

mm/memory.c __pud_alloc() -> p4d_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 p4d 4096-ptr_max
PARAM_VALUE 2 pud 18379471554275704832,18446612682070032384
BUF_SIZE 0 mm s32min-s32max
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 p4d $1
DATA_SOURCE 2 pud r pud_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 p4d_populate_tests() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 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_p4d_populate() -> p4d_populate()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 p4d 4096-ptr_max
PARAM_VALUE 2 pud 1-u64max
DATA_SOURCE 2 pud r vmemmap_alloc_block_zero
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq