Defined in 3 files as a prototype:

Defined in 4 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/huge_memory.c insert_pud() -> pudp_set_access_flags()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->vm_end 1-u64max
PARAM_VALUE 0 vma->vm_file 4096-ptr_max
PARAM_VALUE 0 vma->vm_ops 4096-ptr_max
PARAM_VALUE 1 address 0,1073741824-18446744073709551614
PARAM_VALUE 2 pudp 4096-ptr_max
PARAM_VALUE 4 dirty 1
BUF_SIZE 0 vma (-1),4,24,64,168-s32max
BUF_SIZE 0 vma (-1),4,24,64,168-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 pudp $2
DATA_SOURCE 3 entry r maybe_pud_mkwrite
PARAM_COMPARE 0 vma->vm_end > $0->vm_start
PARAM_COMPARE 1 address < $0->vm_end
PARAM_COMPARE 1 address < $0->vm_end
PARAM_COMPARE 1 address >= $0->vm_start
PARAM_COMPARE 1 address >= $0->vm_start
BIT_INFO 1 address 0x0,0xffffffffc0000000
BIT_INFO 1 address 0x0,0xffffffffc0000000
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0,1073741824-s32max[c]
NO_OVERFLOW_SIMPLE 0 vma->vm_end
NO_OVERFLOW_SIMPLE 0 vma->vm_pgoff
NO_OVERFLOW_SIMPLE 0 vma->vm_start
UNITS 1 address unit_byte
LOCK2 global &dax_srcu
HALF_LOCKED2 &mm->mmap_lock

mm/huge_memory.c touch_pud() -> pudp_set_access_flags()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 1 address 0,1073741824-u64max
PARAM_VALUE 2 pudp 4096-ptr_max
DATA_SOURCE 0 vma $0
DATA_SOURCE 2 pudp $2
DATA_SOURCE 4 dirty $3
BIT_INFO 1 address 0x0,0xffffffffc0000000
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 address 0,1073741824-u64max[c]
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock

mm/debug_vm_pgtable.c pud_advanced_tests() -> pudp_set_access_flags()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 1 address 0
PARAM_VALUE 2 pudp 4096-ptr_max
PARAM_VALUE 4 dirty 1
DATA_SOURCE 3 entry r pud_mkdirty
PREEMPT_ADD
NOCHECK_CALL