Defined in 4 files as a function:

Referenced in 12 files:

Smatch caller information:

mm/madvise.c guard_install_pud_entry() -> pud_trans_huge()

Type Parameter Key Value
DATA_SOURCE 0 pud r pudp_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/madvise.c guard_remove_pud_entry() -> pud_trans_huge()

Type Parameter Key Value
DATA_SOURCE 0 pud r pudp_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/huge_memory.c __pud_trans_huge_lock() -> pud_trans_huge()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/huge_memory.c __split_huge_pud() -> pud_trans_huge()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/huge_memory.c __split_huge_pud_locked() -> pud_trans_huge()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/huge_memory.c copy_huge_pud() -> pud_trans_huge()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
LOCK2 src_ptl
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/pagewalk.c walk_pud_range() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &init_mm.mmap_lock

mm/pagewalk.c walk_pud_range() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 global &init_mm.mmap_lock

mm/mremap.c move_page_tables() -> pud_trans_huge()

Type Parameter Key Value
LOCK2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/memory.c __handle_mm_fault() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c copy_pud_range() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mm->mmap_lock
LOCK2 &oldmm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/memory.c pud_trans_unstable() -> pud_trans_huge()

Type Parameter Key Value
DATA_SOURCE 0 pud r pudp_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

mm/memory.c zap_pud_range() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c zap_pud_range() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/mincore.c pud_is_huge() -> pud_trans_huge()

Type Parameter Key Value
DATA_SOURCE 0 pud $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/memory-failure.c dev_pagemap_mapping_shift() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &av->root->rwsem
HALF_LOCKED2 &mapping->i_mmap_rwsem
HALF_LOCKED2 global &mf_mutex

mm/pgtable-generic.c pudp_huge_clear_flush() -> pud_trans_huge()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/debug_vm_pgtable.c pud_thp_tests() -> pud_trans_huge()

Type Parameter Key Value

mm/mapping_dirty_helpers.c wp_clean_pud_entry() -> pud_trans_huge()

Type Parameter Key Value
DATA_SOURCE 0 pud r pudp_get
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock

mm/hmm.c pud_trans_huge_lock() -> pud_trans_huge()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock