Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/userfaultfd.c mfill_atomic() -> mfill_atomic_hugetlb()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->mm 4096-ptr_max
PARAM_VALUE 0 ctx->mm->mm_users.counter 0-s32max
PARAM_VALUE 0 ctx->mm->task_size 1-u64max
PARAM_VALUE 0 ctx->mmap_changing.counter 0
PARAM_VALUE 1 dst_vma 4096-ptr_max
PARAM_VALUE 1 dst_vma->flags.__vma_flags 4096-ptr_max
PARAM_VALUE 1 dst_vma->vm_refcnt.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 dst_vma->vm_userfaultfd_ctx.ctx 1-u64max
PARAM_VALUE 2 dst_start 0-18446744073709551614
PARAM_VALUE 3 src_start 0-18446744073709551614
PARAM_VALUE 4 len 1-u64max
PARAM_VALUE 5 flags 0-4,6
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx->mm->task_size 1
CAPPED_DATA 2 dst_start 1
CAPPED_DATA 2 dst_start 1
CAPPED_DATA 3 src_start 1
CAPPED_DATA 3 src_start 1
CAPPED_DATA 4 len 1
CAPPED_DATA 4 len 1
DATA_SOURCE 0 ctx $0
DATA_SOURCE 2 dst_start $1
DATA_SOURCE 3 src_start $2
DATA_SOURCE 4 len $3
DATA_SOURCE 5 flags $4
NOSPEC 2 dst_start
NOSPEC 2 dst_start
NOSPEC 3 src_start
NOSPEC 3 src_start
NOSPEC 4 len
NOSPEC 4 len
USER_DATA 2 dst_start 0-18446744073709551614[c]
USER_DATA 3 src_start 0-18446744073709551614[c]
USER_DATA 4 len 1-u64max[c]
NO_OVERFLOW_SIMPLE 2 dst_start
NO_OVERFLOW_SIMPLE 3 src_start
NO_OVERFLOW_SIMPLE 4 len
UNITS 2 dst_start unit_byte
UNITS 3 src_start unit_byte
UNITS 4 len unit_byte
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock