Defined in 4 files as a function:
- arch/powerpc/include/asm/book3s/64/pgtable.h, line 1223 (as a function)
- arch/riscv/include/asm/pgtable.h, line 1074 (as a function)
- arch/x86/include/asm/pgtable.h, line 303 (as a function)
- include/linux/pgtable.h, line 2091 (as a function)
Referenced in 12 files:
- arch/powerpc/mm/book3s64/radix_pgtable.c, line 1449
- include/linux/huge_mm.h
- include/linux/pgtable.h, line 2103
- mm/debug_vm_pgtable.c, line 944
- mm/huge_memory.c
- mm/madvise.c
- mm/mapping_dirty_helpers.c, line 155
- mm/memory-failure.c, line 358
- mm/memory.c
- mm/mremap.c, line 844
- mm/pagewalk.c, line 230
- mm/pgtable-generic.c, line 159
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 |