Defined in 8 files as a macro:

Defined in 19 files as a function:

Referenced in 29 files:

Smatch caller information:

arch/x86/mm/init_64.c fill_pte() -> pmd_populate_kernel()

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

arch/x86/mm/init_64.c pmd_populate_kernel_init() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pmd 4096-ptr_max
PARAM_VALUE 2 pte 0,18379471554275704832,18379471554275708928-18379471554275729408,18446612682070032384,18446612682070036480-18446612682070056960
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 pmd $1
DATA_SOURCE 2 pte $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

arch/x86/mm/ioremap.c early_ioremap_init() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 2 pte 4295428656365969408
BUF_SIZE 2 pte 4096
DATA_SOURCE 1 pmd r early_ioremap_pmd
NOCHECK_CALL
LOCK2 irq

mm/percpu.c pcpu_populate_pte() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pmd 4096-ptr_max
PARAM_VALUE 2 pte 1-u64max
DATA_SOURCE 1 pmd r pmd_offset
DATA_SOURCE 2 pte r __memblock_alloc_or_panic
NOCHECK_CALL
LOCK2 irq

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

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
DATA_SOURCE 1 pmd r pmd_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

mm/kasan/init.c zero_p4d_populate() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
DATA_SOURCE 1 pmd r pmd_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

mm/kasan/init.c zero_pmd_populate() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

mm/kasan/init.c zero_pmd_populate() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pmd 4096-ptr_max
PARAM_VALUE 2 pte 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

mm/kasan/init.c zero_pud_populate() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
DATA_SOURCE 1 pmd r pmd_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/mm/kasan_init_64.c kasan_populate_pmd() -> pmd_populate_kernel()

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

mm/memory.c __pte_alloc_kernel() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pmd 4096-ptr_max
PARAM_VALUE 2 pte 18379471554275704832,18446612682070032384
DATA_SOURCE 1 pmd $0
DATA_SOURCE 2 pte r pte_alloc_one_kernel_noprof
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &init_mm.page_table_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/hugetlb_vmemmap.c vmemmap_split_pmd() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pmd 4301890319273848832
PARAM_VALUE 2 pte 18379471554275704832,18446612682070032384
DATA_SOURCE 2 pte r pte_alloc_one_kernel_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock

mm/hugetlb_vmemmap.c vmemmap_split_pmd() -> pmd_populate_kernel()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pmd 4096-ptr_max
PARAM_VALUE 2 pte 18379471554275704832,18446612682070032384
CAPPED_DATA 2 pte 1
DATA_SOURCE 1 pmd $0
DATA_SOURCE 2 pte r pte_alloc_one_kernel_noprof
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &init_mm.page_table_lock
HALF_LOCKED2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/sparse-vmemmap.c vmemmap_pmd_populate() -> pmd_populate_kernel()

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