Defined in 5 files as a macro:

Defined in 1 files as a function:

Referenced in 34 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 val 0,4-u64max
BIT_INFO 0 val 0x67,0xffffffffffffffff

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

Type Parameter Key Value
PARAM_VALUE 0 val 0,67108864-u64max
BIT_INFO 0 val 0x400000000000000,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &init_mm.page_table_lock
HALF_LOCKED2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &init_mm.page_table_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &init_mm.page_table_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct mm_struct)->page_table_lock

arch/x86/mm/init_64.c phys_p4d_init() -> __p4d()

Type Parameter Key Value
PARAM_VALUE 0 val 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

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

Type Parameter Key Value
PARAM_VALUE 0 val 0,4-u64max
CAPPED_DATA 0 val 1
BIT_INFO 0 val 0x4,0xffffffffffffffff
LOCK2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
LOCK2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x63,0xffffffffffffffff

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x63,0xffffffffffffffff
HALF_LOCKED2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
LOCK2 irq

arch/x86/mm/kasan_init_64.c kasan_early_init() -> __p4d()

Type Parameter Key Value

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

Type Parameter Key Value
BIT_INFO 0 val 0x63,0xffffffffffffffff

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
LOCK2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x63,0xffffffffffffffff

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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/mm/pat/set_memory.c populate_pgd() -> __p4d()

Type Parameter Key Value
BIT_INFO 0 val 0x63,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
PREEMPT_ADD
LOCK2 &args.mm->page_table_lock
TYPE_LOCK (struct mm_struct)->page_table_lock

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 val 0
LOCK2 irq

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

Type Parameter Key Value
BIT_INFO 0 val 0x67,0xffffffffffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq