Defined in 11 files as a macro:

Defined in 19 files as a function:

Referenced in 28 files:

Smatch caller information:

arch/x86/mm/init_64.c free_pte_table() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $1
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

arch/x86/mm/init_64.c remove_pmd_table() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
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

arch/x86/mm/init_64.c remove_pmd_table() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
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/kasan/init.c kasan_free_pte() -> pmd_clear()

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

mm/kasan/init.c kasan_remove_pmd_table() -> pmd_clear()

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

mm/mremap.c move_normal_pmd() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock
HALF_LOCKED2 new_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/memory.c free_pte_range() -> pmd_clear()

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

mm/memory.c zap_empty_pte_table() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 pml

mm/memory.c zap_pte_table_if_empty() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 ptl

mm/pgtable-generic.c pmd_clear_bad() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

arch/x86/mm/pat/set_memory.c unmap_pmd_range() -> pmd_clear()

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

arch/x86/mm/pat/set_memory.c unmap_pte_range() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $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_clear()

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

mm/debug_vm_pgtable.c pmd_clear_tests() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL

mm/debug_vm_pgtable.c pmd_huge_tests() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL

arch/x86/mm/pgtable.c pmd_clear_huge() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/mm/pgtable.c pmd_free_pte_page() -> pmd_clear()

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
DATA_SOURCE 0 pmdp $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 0 pmdp 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL