Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

arch/x86/mm/init_64.c pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 pfn unit_page
HALF_LOCKED2 global &init_mm.page_table_lock
HALF_LOCKED2 irq

arch/x86/mm/init_64.c pud_populate_safe() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 pfn unit_page
LOCK2 global &init_mm.page_table_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/percpu.c pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
NOCHECK_CALL
UNITS 1 pfn unit_page
LOCK2 irq

mm/kasan/init.c pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 pfn unit_page
HALF_LOCKED2 irq

arch/x86/kernel/espfix_64.c init_espfix_ap() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pfn 0-4503599627370495
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 pfn unit_page
LOCK2 global &espfix_init_mutex
HALF_LOCKED2 irq

mm/hugetlb.c pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pfn 0-4503599627370495
BUF_SIZE 0 mm (-1),1-s32max
BUF_SIZE 0 mm (-1),1-s32max
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
UNITS 1 pfn unit_page
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 pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 0 mm unit_byte
UNITS 1 pfn unit_page
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 pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
NOCHECK_CALL
UNITS 1 pfn unit_page
LOCK2 irq

mm/memory.c pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pfn 0-4503599627370495
BUF_SIZE 0 mm s32min-(-1),1-s32max
BUF_SIZE 0 mm s32min-(-1),1-s32max
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 mm->context.ldt->nr_entries 1-8192[c]
UNITS 0 mm unit_byte
UNITS 1 pfn unit_page
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() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 1 pfn unit_page

arch/x86/mm/pgtable.c pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
NOCHECK_CALL
UNITS 1 pfn unit_page

mm/sparse-vmemmap.c pud_populate() -> paravirt_alloc_pmd()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pfn 0-4503599627370495
DATA_SOURCE 0 mm $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 pfn unit_page
HALF_LOCKED2 irq