Defined in 1 files as a member:

Defined in 4 files as a macro:

Defined in 6 files as a function:

Referenced in 36 files:

Smatch caller information:

arch/x86/mm/init_64.c __init_extra_mapping() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp r pgd_offset_pgd
NOCHECK_CALL

arch/x86/mm/init_64.c __init_extra_mapping() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
NOCHECK_CALL

arch/x86/mm/init_64.c ident_p4d_init() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 irq

arch/x86/mm/init_64.c kernel_ident_mapping_init() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 irq

arch/x86/mm/init_64.c kernel_ident_mapping_init() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 irq

arch/x86/mm/init_64.c p4d_clear() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &init_mm.page_table_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

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

Type Parameter Key Value
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &init_mm.page_table_lock
HALF_LOCKED2 irq

arch/x86/mm/init_64.c p4d_populate_safe() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
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/init_64.c pgd_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &init_mm.page_table_lock
HALF_LOCKED2 irq

arch/x86/mm/init_64.c pgd_populate_safe() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
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/init_64.c set_p4d_init() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
DATA_SOURCE 1 p4d $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/mm/init_64.c set_p4d_init() -> set_p4d()

Type Parameter Key Value
DATA_SOURCE 0 p4dp $0
DATA_SOURCE 1 p4d $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/mm/init_64.c sync_global_pgds_l4() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pgd_lock
LOCK2 pgt_lock
HALF_LOCKED2 irq

arch/x86/mm/init_64.c sync_global_pgds_l5() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &pgd_lock
LOCK2 pgt_lock
HALF_LOCKED2 irq

arch/x86/entry/vsyscall/vsyscall_64.c set_vsyscall_pgtable_user_bits() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp r pgd_offset_pgd
NOCHECK_CALL
LOCK2 irq

arch/x86/entry/vsyscall/vsyscall_64.c set_vsyscall_pgtable_user_bits() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
NOCHECK_CALL
LOCK2 irq

mm/percpu.c p4d_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
NOCHECK_CALL
LOCK2 irq

mm/percpu.c pgd_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
NOCHECK_CALL
LOCK2 irq

arch/x86/kernel/machine_kexec_64.c init_transition_pgtable() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
NOCHECK_CALL

arch/x86/kernel/machine_kexec_64.c init_transition_pgtable() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
NOCHECK_CALL

mm/kasan/init.c kasan_free_p4d() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

mm/kasan/init.c kasan_remove_zero_shadow() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp r pgd_offset_pgd
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

mm/kasan/init.c p4d_clear() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

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

Type Parameter Key Value
DATA_SOURCE 0 p4dp $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

mm/kasan/init.c pgd_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-u64max
DATA_SOURCE 0 p4dp $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/mm/pti.c pti_user_pagetable_walk_p4d() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp r kernel_to_user_pgdp
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/mm/pti.c pti_user_pagetable_walk_pmd() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp r pti_user_pagetable_walk_p4d
NOCHECK_CALL
HALF_LOCKED2 irq

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

Type Parameter Key Value
DATA_SOURCE 0 p4dp $1
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c clear_pgds() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp r pgd_offset_pgd
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c kasan_early_p4d_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
NOCHECK_CALL

arch/x86/mm/kasan_init_64.c kasan_early_p4d_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 1 p4d r __p4d
NOCHECK_CALL

arch/x86/mm/kasan_init_64.c kasan_init() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 3940207550724620480,3940207550724620536,3940207550724624064,3940207550724624128,3940207550724624320,3940207550724624376
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c p4d_clear() -> set_p4d()

Type Parameter Key Value
DATA_SOURCE 0 p4dp $0
NOCHECK_CALL
LOCK2 irq

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

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c pgd_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kaslr.c init_trampoline_kaslr() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 0,18379471554275704832,18379471554275708928-18379471554275737600,18446612682070032384,18446612682070036480-18446612682070065152
NOCHECK_CALL

mm/memory.c free_p4d_range() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

mm/memory.c p4d_clear() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock

mm/memory.c p4d_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->page_table_lock
HALF_LOCKED2 &mm->context.ldt_usr_sem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/memory.c pgd_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->page_table_lock
HALF_LOCKED2 &mm->context.ldt_usr_sem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

arch/x86/kernel/ldt.c map_ldt_struct_to_user() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 0,4096-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->context.ldt_usr_sem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &old_mm->context.lock
HALF_LOCKED2 &old_mm->mmap_lock

mm/pgtable-generic.c p4d_clear() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock

mm/pgtable-generic.c pgd_clear_bad() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock

arch/x86/mm/pat/set_memory.c populate_pgd() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

arch/x86/mm/pat/set_memory.c populate_pgd() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

mm/debug_vm_pgtable.c destroy_args() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 0,4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL

mm/debug_vm_pgtable.c p4d_clear() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 0,4096-ptr_max
DATA_SOURCE 0 p4dp $0
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 &args.mm->page_table_lock

mm/debug_vm_pgtable.c p4d_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &args.mm->page_table_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/debug_vm_pgtable.c pgd_clear_tests() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &args.mm->page_table_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/debug_vm_pgtable.c pgd_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &args.mm->page_table_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

mm/debug_vm_pgtable.c pgd_populate_tests() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &args.mm->page_table_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

arch/x86/mm/pgtable.c mop_up_one_pmd() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock

arch/x86/power/hibernate_64.c set_up_temporary_text_mapping() -> set_p4d()

Type Parameter Key Value
DATA_SOURCE 1 p4d r __p4d
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
LOCK2 irq

arch/x86/power/hibernate_64.c set_up_temporary_text_mapping() -> set_p4d()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
LOCK2 irq

arch/x86/power/hibernate_64.c set_up_temporary_text_mapping() -> set_p4d()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
LOCK2 irq

arch/x86/xen/mmu_pv.c xen_cleanmfnmap_p4d() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $0
NOCHECK_CALL
LOCK2 irq

arch/x86/xen/mmu_pv.c xen_relocate_p2m() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
NOCHECK_CALL
UNITS 0 p4dp unit_page
LOCK2 irq

arch/x86/xen/mmu_pv.c xen_relocate_p2m() -> set_p4d()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 irq

mm/sparse-vmemmap.c p4d_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

mm/sparse-vmemmap.c pgd_populate() -> set_p4d()

Type Parameter Key Value
PARAM_VALUE 0 p4dp 4096-ptr_max
DATA_SOURCE 0 p4dp $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq