Defined in 1 files as a prototype:

Defined in 5 files as a function:

Referenced in 6 files:

Smatch caller information:

mm/madvise.c can_madvise_modify() -> arch_vma_access_permitted()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 1 write 1
PARAM_VALUE 2 execute 0
PARAM_VALUE 3 foreign 0
BIT_INFO 0 vma->vm_flags 0x2,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &madv_behavior->mm->mmap_lock

arch/x86/mm/fault.c access_error() -> arch_vma_access_permitted()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 3 foreign 0
DATA_SOURCE 0 vma $1
BIT_INFO 1 write 0x0,0x2
BIT_INFO 2 execute 0x0,0x10

arch/x86/mm/fault.c bad_area_access_from_pkeys() -> arch_vma_access_permitted()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 3 foreign 0
DATA_SOURCE 0 vma $1
BIT_INFO 1 write 0x0,0x2
BIT_INFO 2 execute 0x0,0x10
RX_PATH
NO_OVERFLOW_SIMPLE 0 vma->vm_policy->mode
NO_OVERFLOW_SIMPLE 0 vma->vm_start

mm/memory.c handle_mm_fault() -> arch_vma_access_permitted()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
BUF_SIZE 0 vma (-1),1-s32max
BUF_SIZE 0 vma (-1),1-s32max
BUF_SIZE 0 vma->vm_file (-1)-0,4,24,64,168-s32max
BUF_SIZE 0 vma->vm_private_data (-1)-s32max
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma $0
BIT_INFO 2 execute 0x0,0x100
BIT_INFO 3 foreign 0x0,0x80
NOSPEC 0 vma->vm_end
NOSPEC 0 vma->vm_pgoff
NOSPEC 0 vma->vm_start
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vma->vm_end 4096-u64max[c]
USER_DATA 0 vma->vm_pgoff 0-4503599627370495[c]
USER_DATA 0 vma->vm_start 0-18446744073709547520
NO_OVERFLOW_SIMPLE 0 vma->vm_file->f_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 vma->vm_pgoff
HALF_LOCKED2 &mm->mmap_lock

mm/gup.c check_vma_flags() -> arch_vma_access_permitted()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 2 execute 0
DATA_SOURCE 0 vma $0
BIT_INFO 3 foreign 0x0,0x40000
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 write 1[c]
USER_DATA 3 foreign 1[c]
HALF_LOCKED2 &mm->mmap_lock

mm/gup.c vma_permits_fault() -> arch_vma_access_permitted()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 2 execute 0
CAPPED_DATA 0 vma->vm_start 1
DATA_SOURCE 0 vma $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iommu->lock
HALF_LOCKED2 &mm->mmap_lock