Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/userfaultfd.c mfill_atomic_pte_continue() -> vma_uffd_ops()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_atomic_pte_copy() -> vma_uffd_ops()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_atomic_pte_zeroed_folio() -> vma_uffd_ops()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_get_vma() -> vma_uffd_ops()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma r uffd_mfill_lock
LOCK2 &ctx->map_changing_lock
HALF_LOCKED2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_retry_state_changed() -> vma_uffd_ops()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma $1
LOCK2 &mfill_state->ctx->map_changing_lock
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_retry_state_save() -> vma_uffd_ops()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->vm_ops 0,4096-ptr_max
DATA_SOURCE 0 vma $1
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c vma_can_userfault() -> vma_uffd_ops()

Type Parameter Key Value
PARAM_VALUE 0 vma 1-u64max
DATA_SOURCE 0 vma $0
NO_OVERFLOW_SIMPLE 0 vma->vm_start
LOCK2 &mm->mmap_lock
TYPE_LOCK (struct mm_struct)->mmap_lock