Defined in 4 files as a prototype:
- arch/powerpc/include/asm/pgtable.h, line 119 (as a prototype)
- arch/riscv/include/asm/pgtable.h, line 661 (as a prototype)
- arch/x86/include/asm/pgtable.h, line 1226 (as a prototype)
- include/linux/pgtable.h, line 461 (as a prototype)
Defined in 2 files as a macro:
- arch/arm64/include/asm/pgtable.h, line 1976 (as a macro)
- arch/sparc/include/asm/pgtable_32.h, line 404 (as a macro)
Defined in 8 files as a function:
- arch/arm64/include/asm/pgtable.h, line 1933 (as a function)
- arch/mips/include/asm/pgtable.h, line 494 (as a function)
- arch/nios2/include/asm/pgtable.h, line 284 (as a function)
- arch/powerpc/mm/pgtable.c, line 255 (as a function)
- arch/riscv/mm/pgtable.c, line 8 (as a function)
- arch/s390/include/asm/pgtable.h, line 1339 (as a function)
- arch/x86/mm/pgtable.c, line 380 (as a function)
- mm/pgtable-generic.c, line 70 (as a function)
Referenced in 6 files:
- arch/powerpc/mm/pgtable.c, line 280
- arch/riscv/include/asm/pgtable.h
- arch/riscv/mm/hugetlbpage.c, line 286
- include/asm-generic/hugetlb.h, line 113
- mm/debug_vm_pgtable.c, line 155
- mm/memory.c
Smatch caller information:
mm/hugetlb.c huge_ptep_set_access_flags() -> ptep_set_access_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | dirty | 0-1 |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 2 | ptep | 1 |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| DATA_SOURCE | 2 | ptep | $2 |
| DATA_SOURCE | 3 | entry | $3 |
| DATA_SOURCE | 4 | dirty | $4 |
| NOSPEC | 0 | vma->vm_start | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_end | 1073741824-u64max[c] |
| USER_DATA | 0 | vma->vm_start | 0-18446744073709547520 |
| USER_DATA | 1 | address | 0-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_policy->mode | |
| UNITS | 1 | address | unit_byte |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c handle_pte_fault() -> ptep_set_access_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0,4096-u64max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | dirty | 0-1 |
| DATA_SOURCE | 2 | ptep | r pte_offset_map_rw_nolock |
| DATA_SOURCE | 3 | entry | r pte_mkyoung |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | address | 0,4096-u64max[c] |
| UNITS | 1 | address | unit_byte |
| LOCK2 | rcu_read | ||
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/memory.c insert_page_into_pte_locked() -> ptep_set_access_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0-18446744073709551614 |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | dirty | 1 |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_file | (-1)-s32max |
| BUF_SIZE | 0 | vma->vm_ops | (-1),144 |
| BUF_SIZE | 0 | vma->vm_private_data | (-1),1-s32max |
| CAPPED_DATA | 0 | vma | 1 |
| CAPPED_DATA | 0 | vma->vm_start | 1 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $2 |
| DATA_SOURCE | 2 | ptep | $1 |
| DATA_SOURCE | 3 | entry | r pte_mkyoung |
| NOSPEC | 0 | vma->vm_end | |
| NOSPEC | 0 | vma->vm_pgoff | |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->pfnmap_track_ctx->pfn | 0-13510803177078779[c] |
| USER_DATA | 0 | vma->pfnmap_track_ctx->size | 0,4096-u64max[c] |
| USER_DATA | 0 | vma->vm_end | 4096-u64max[c] |
| USER_DATA | 0 | vma->vm_pgoff | 0-13510803177078779[c] |
| USER_DATA | 0 | vma->vm_start | 0-18446744073709547520 |
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_file->f_mapping->host->i_size | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
mm/memory.c insert_pfn() -> ptep_set_access_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0-18446744073709551614 |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | dirty | 1 |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_file | (-1),1-s32max |
| BUF_SIZE | 0 | vma->vm_private_data | (-1),1-s32max |
| CAPPED_DATA | 0 | vma->vm_start | 1 |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 0 | vma | $0 |
| DATA_SOURCE | 1 | address | $1 |
| DATA_SOURCE | 2 | ptep | r get_locked_pte |
| DATA_SOURCE | 3 | entry | r maybe_mkwrite |
| NOSPEC | 0 | vma->vm_pgoff | |
| NOSPEC | 0 | vma->vm_start | |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->vm_end | 4096-u64max[c] |
| USER_DATA | 0 | vma->vm_pgoff | 0-4294967294[c] |
| USER_DATA | 0 | vma->vm_start | 0-18446744073709547520 |
| USER_DATA | 1 | address | 0-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_start | |
| UNITS | 1 | address | unit_byte |
mm/memory.c wp_page_reuse() -> ptep_set_access_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 1 | address | 0,4096-u64max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | dirty | 1 |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| BUF_SIZE | 0 | vma | (-1),1-s32max |
| CAPPED_DATA | 1 | address | 1 |
| CAPPED_DATA | 1 | address | 1 |
| DATA_SOURCE | 3 | entry | r maybe_mkwrite |
| NOSPEC | 1 | address | |
| NOSPEC | 1 | address | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | vma->swap_readahead_info.counter | 0-s64max[c] |
| USER_DATA | 1 | address | 0,4096-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | vma->vm_pgoff | |
| UNITS | 1 | address | unit_byte |
| LOCK2 | vmf->ptl | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/debug_vm_pgtable.c pte_advanced_tests() -> ptep_set_access_flags()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vma | 4096-ptr_max |
| PARAM_VALUE | 2 | ptep | 4096-ptr_max |
| PARAM_VALUE | 4 | dirty | 1 |
| DATA_SOURCE | 3 | entry | r pte_mkdirty |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | ptl |