Defined in 5 files as a macro:
- arch/arc/include/asm/pgtable-levels.h, line 108 (as a macro)
- arch/arm64/include/asm/pgtable.h, line 967 (as a macro)
- arch/powerpc/include/asm/nohash/64/pgtable-4k.h, line 57 (as a macro)
- arch/sparc/include/asm/pgtable_64.h, line 811 (as a macro)
- arch/um/include/asm/pgtable-4level.h, line 67 (as a macro)
Defined in 7 files as a function:
- arch/loongarch/include/asm/pgtable.h, line 162 (as a function)
- arch/mips/include/asm/pgtable-64.h, line 189 (as a function)
- arch/powerpc/include/asm/book3s/64/pgtable.h, line 966 (as a function)
- arch/riscv/include/asm/pgtable-64.h, line 300 (as a function)
- arch/s390/include/asm/pgtable.h, line 775 (as a function)
- arch/x86/include/asm/pgtable.h, line 1088 (as a function)
- include/asm-generic/pgtable-nopud.h, line 29 (as a function)
Referenced in 12 files:
- arch/arm/lib/uaccess_with_memcpy.c, line 38
- arch/arm/mm/fault.c, line 61
- arch/arm64/mm/fault.c, line 173
- arch/arm64/mm/mmu.c, line 388
- arch/riscv/mm/fault.c, line 53
- arch/sh/mm/fault.c, line 77
- arch/sparc/mm/fault_64.c, line 92
- include/linux/pgtable.h, line 1557
- mm/debug_vm_pgtable.c, line 564
- mm/gup.c, line 981
- mm/memory.c
- mm/vmalloc.c
Smatch caller information:
mm/pagewalk.c p4d_none_or_clear_bad() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/swapfile.c p4d_none_or_clear_bad() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPABLE | 0 | 21 | |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/mprotect.c p4d_none_or_clear_bad() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dst_mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | _T->lock |
mm/mremap.c p4d_none_or_clear_bad() -> p4d_bad()
| 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 apply_to_p4d_range() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
mm/memory.c follow_pfnmap_start() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p4d | r p4dp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c p4d_none_or_clear_bad() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock |
mm/gup.c follow_p4d_mask() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p4d | r p4dp_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/vmalloc.c p4d_none_or_clear_bad() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &pcpu_alloc_mutex |
mm/vmalloc.c vmalloc_to_page() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &bo->mutex | ||
| HALF_LOCKED2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &fbdefio_state->lock | ||
| HALF_LOCKED2 | &hw->hw_info.lock | ||
| HALF_LOCKED2 | &idev->info_lock | ||
| HALF_LOCKED2 | &pds_vfio->state_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &rproc->lock | ||
| HALF_LOCKED2 | &runtime->buffer_mutex | ||
| HALF_LOCKED2 | &service->bulk_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &page_offline_rwsem | ||
| HALF_LOCKED2 | global &pcpu_alloc_mutex | ||
| HALF_LOCKED2 | global &report_lock | ||
| HALF_LOCKED2 | sk |
mm/vmalloc.c vunmap_p4d_range() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &pcpu_alloc_mutex |
mm/debug_vm_pgtable.c p4d_populate_tests() -> p4d_bad()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | p4d | r p4dp_get |
| PREEMPT_ADD | |||
| LOCK2 | &args.mm->page_table_lock | ||
| TYPE_LOCK | (struct mm_struct)->page_table_lock |