Defined in 1 files as a prototype:

Defined in 6 files as a macro:

Defined in 8 files as a function:

Referenced in 13 files:

Smatch caller information:

mm/kasan/init.c kasan_free_pmd() -> pmd_free()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
DATA_SOURCE 1 pmd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

mm/memory.c __pmd_alloc() -> pmd_free()

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->vma_writer_wait.task->sched_class->uclamp_enabled 0-1
PARAM_VALUE 1 pmd 18379471554275704832,18446612682070032384
BUF_SIZE 0 mm s32min-s32max
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 pmd r pmd_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
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 0 &mm->context.ldt_usr_sem
HALF_LOCKED2 0 &mm->mmap_lock

arch/x86/mm/pat/set_memory.c try_to_free_pmd_page() -> pmd_free()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pmd 18379471554275704832-18383975153903071232
DATA_SOURCE 1 pmd $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &cpa_lock
HALF_LOCKED2 global &mem_enc_lock

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

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

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

Type Parameter Key Value
PARAM_VALUE 0 mm 4096-ptr_max
PARAM_VALUE 0 mm->exe_file->f_cred->process_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->process_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->request_key_auth->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->request_key_auth->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->session_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->session_keyring->user->qnkeys s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->thread_keyring->user->qnbytes s32min-s32max
PARAM_VALUE 0 mm->exe_file->f_cred->thread_keyring->user->qnkeys s32min-s32max
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->notifier_subscriptions->active_invalidate_ranges 0-s64max
PARAM_VALUE 0 mm->notifier_subscriptions->has_itree 0-1
PARAM_VALUE 0 mm->notifier_subscriptions->invalidate_seq 0-s64max
PARAM_VALUE 1 pmd 18379471554275704832-18383975153903071232
DATA_SOURCE 0 mm $0
DATA_SOURCE 1 pmd r pgd_page_vaddr
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 mm unit_byte
HALF_LOCKED2 0 &mm->mmap_lock

arch/x86/mm/pgtable.c pud_free_pmd_page() -> pmd_free()

Type Parameter Key Value
PARAM_VALUE 0 mm 7138969414219841536
PARAM_VALUE 1 pmd 18379471554275704832-18383975153903071232
DATA_SOURCE 1 pmd r pud_pgtable
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL