Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/madvise.c tlb_remove_tlb_entries() -> tlb_flush_pte_range()

Type Parameter Key Value
PARAM_VALUE 0 tlb 4096-ptr_max
BUF_SIZE 0 tlb (-1),4,8,16,24,56,64,128,152,216,8248
BUF_SIZE 0 tlb (-1),4,8,16,24,56,64,128,152,216,8248
CAPPED_DATA 2 size 1
DATA_SOURCE 0 tlb $0
DATA_SOURCE 1 address $3
NOSPEC 1 address
NOSPEC 1 address
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tlb->start 1-u64max[c]
USER_DATA 1 address 1-u64max[c]
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/mprotect.c prot_commit_flush_ptes() -> tlb_flush_pte_range()

Type Parameter Key Value
PARAM_VALUE 0 tlb 1328374472486391808,3520855664362516480,5518561256286212096,8385517359223296000
PARAM_VALUE 2 size 0-8796093018112
CAPPED_DATA 2 size 1
DATA_SOURCE 0 tlb $8
DATA_SOURCE 1 address $1
NOSPEC 1 address
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tlb->end 1-u32max[c]
USER_DATA 0 tlb->start 0-u64max[c]
USER_DATA 1 address 0-u64max[c]
USER_DATA 2 size 0,8192-8796093018112[c]
UNITS 1 address unit_byte
UNITS 2 size unit_byte
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/hugetlb.c __unmap_hugepage_range() -> tlb_flush_pte_range()

Type Parameter Key Value
PARAM_VALUE 0 tlb 4096-ptr_max
PARAM_VALUE 1 address 0-18446744073709551614
PARAM_VALUE 2 size 0-2097151
BUF_SIZE 0 tlb (-1),128
BUF_SIZE 0 tlb (-1),128
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 0 tlb $0
DATA_SOURCE 2 size r huge_page_size
NOSPEC 0 tlb->start
NOSPEC 1 address
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tlb->end 0-u32max[c]
USER_DATA 0 tlb->start 0-u64max[c]
USER_DATA 1 address 0-18446744073709551614
UNITS 1 address unit_byte
HALF_LOCKED2 &mapping->i_mmap_rwsem

mm/hugetlb.c hugetlb_change_protection() -> tlb_flush_pte_range()

Type Parameter Key Value
PARAM_VALUE 0 tlb 3890555459152166912
PARAM_VALUE 1 address 0-18446744073709551614
PARAM_VALUE 2 size 0-2097151
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 1 address $1 [m]
DATA_SOURCE 2 size r huge_page_size
NOSPEC 0 tlb->start
NOSPEC 1 address
NOSPEC 1 address
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tlb->end 1-u32max[c]
USER_DATA 0 tlb->start 0-18446744073709551614[c]
USER_DATA 1 address 0-18446744073709551614
UNITS 1 address unit_byte
LOCK2 &vma->vm_file->f_mapping->i_mmap_rwsem
HALF_LOCKED2 &dst_mm->mmap_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem

mm/hugetlb.c move_hugetlb_page_tables() -> tlb_flush_pte_range()

Type Parameter Key Value
PARAM_VALUE 0 tlb 2630932897084018688
PARAM_VALUE 1 address 0-18446744073709551614
PARAM_VALUE 2 size 0-2097151
CAPPED_DATA 1 address 1
CAPPED_DATA 1 address 1
DATA_SOURCE 1 address $2 [m]
DATA_SOURCE 2 size r huge_page_size
NOSPEC 0 tlb->start
NOSPEC 1 address
NOSPEC 1 address
NOCHECK_CALL
USER_DATA 0 tlb->end 1-u32max[c]
USER_DATA 0 tlb->start 0-18446744073709551614[c]
USER_DATA 1 address 0-s32max[c]
UNITS 1 address unit_byte
LOCK2 &mapping->i_mmap_rwsem
LOCK2 &mm->mmap_lock
HALF_LOCKED2 &tsk->signal->exec_update_lock
TYPE_LOCK (struct address_space)->i_mmap_rwsem
TYPE_LOCK (struct mm_struct)->mmap_lock

mm/memory.c tlb_remove_tlb_entries() -> tlb_flush_pte_range()

Type Parameter Key Value
PARAM_VALUE 0 tlb 4096-ptr_max
BUF_SIZE 0 tlb (-1),128
BUF_SIZE 0 tlb (-1),128
CAPPED_DATA 2 size 1
DATA_SOURCE 0 tlb $0
DATA_SOURCE 1 address $3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tlb->end 0-u32max[c]
USER_DATA 0 tlb->start 0-u64max[c]
USER_DATA 1 address 0-u64max
UNITS 1 address unit_byte
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock

mm/memory.c zap_present_ptes() -> tlb_flush_pte_range()

Type Parameter Key Value
PARAM_VALUE 0 tlb 4096-ptr_max
PARAM_VALUE 2 size 4096
BUF_SIZE 0 tlb (-1),128
BUF_SIZE 0 tlb (-1),128
DATA_SOURCE 0 tlb $0
DATA_SOURCE 1 address $5
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 tlb->end 0-u32max[c]
USER_DATA 0 tlb->start 0-u64max[c]
USER_DATA 1 address 0-u64max
UNITS 1 address unit_byte
LOCK2 ptl
HALF_LOCKED2 &mm->mmap_lock