Defined in 3 files as a prototype:
- arch/arm64/include/asm/pgtable.h, line 1630 (as a prototype)
- arch/powerpc/include/asm/book3s/64/pgtable.h, line 1445 (as a prototype)
- arch/s390/include/asm/pgtable.h, line 1232 (as a prototype)
Defined in 1 files as a member:
Defined in 1 files as a macro:
Defined in 5 files as a function:
- arch/arm64/mm/mmu.c, line 2305 (as a function)
- arch/powerpc/mm/book3s64/pgtable.c, line 516 (as a function)
- arch/s390/mm/pgtable.c, line 169 (as a function)
- arch/x86/include/asm/paravirt.h, line 349 (as a function)
- include/linux/pgtable.h, line 1624 (as a function)
Referenced in 7 files:
- arch/x86/include/asm/paravirt.h, line 354
- arch/x86/kernel/paravirt.c, line 182
- arch/x86/xen/mmu_pv.c, line 2202
- fs/proc/task_mmu.c
- include/linux/pgtable.h
- mm/mapping_dirty_helpers.c
- mm/memory.c, line 6202
Smatch caller information:
fs/proc/task_mmu.c clear_soft_dirty() -> ptep_modify_prot_start()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | addr | 1-u64max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | ptep | $2 |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
fs/proc/task_mmu.c make_uffd_wp_pte() -> ptep_modify_prot_start()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | ptep | $2 |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mprotect.c modify_prot_start_ptes() -> ptep_modify_prot_start()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | ptep | $2 |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_end | 1-u64max[c] |
| USER_DATA | 0 | vma->vm_start | 1-u64max[c] |
| USER_DATA | 1 | addr | 0-18446744073709551614[c] |
| USER_DATA | 2 | ptep | 4096-ptr_max[c][u] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/mprotect.c modify_prot_start_ptes() -> ptep_modify_prot_start()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4097-u64max |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | addr | $1 [m] |
| DATA_SOURCE | 2 | ptep | $2 [m] |
| NOSPEC | 1 | addr | |
| NOSPEC | 1 | addr | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_end | 1-u64max[c] |
| USER_DATA | 0 | vma->vm_start | 1-u64max[c] |
| USER_DATA | 1 | addr | 0-18446744073709551614[c] |
| USER_DATA | 2 | ptep | 4097-ptr_max[c][u] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | addr | unit_byte |
| LOCK2 | ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c numa_rebuild_single_mapping() -> ptep_modify_prot_start()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| DATA_SOURCE | 0 | vma | $1 |
| DATA_SOURCE | 1 | addr | $2 |
| DATA_SOURCE | 2 | ptep | $3 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 0,4096-u64max |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| UNITS | 1 | addr | unit_byte |
| UNITS | 2 | ptep | unit_page |
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | rcu_read |
mm/mapping_dirty_helpers.c clean_record_pte() -> ptep_modify_prot_start()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | ptep | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| UNITS | 1 | addr | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | ptl |
mm/mapping_dirty_helpers.c wp_pte() -> ptep_modify_prot_start()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 0,4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| CAPPED_DATA | 0 | vma | 1 |
| DATA_SOURCE | 1 | addr | $1 |
| DATA_SOURCE | 2 | ptep | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | addr | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_end | |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | ptl |