Defined in 4 files as a prototype:

Defined in 2 files as a macro:

Defined in 8 files as a function:

Referenced in 6 files:

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