Defined in 3 files as a prototype:

Defined in 1 files as a member:

Defined in 1 files as a macro:

Defined in 5 files as a function:

Referenced in 7 files:

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