Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/userfaultfd.c __mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 1 expected 0
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c __mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 1 expected 1
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

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

Type Parameter Key Value
PARAM_VALUE 0 flags 0-4,6
PARAM_VALUE 1 expected 1
DATA_SOURCE 0 flags $5
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

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

Type Parameter Key Value
PARAM_VALUE 0 flags 0-4,6
PARAM_VALUE 1 expected 2
DATA_SOURCE 0 flags $5
LOCK2 &state.ctx->map_changing_lock
HALF_LOCKED2 &ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 1 expected 2
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 1 expected 3
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 1 expected 0
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/userfaultfd.c mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 1 expected 1
LOCK2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

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

Type Parameter Key Value
PARAM_VALUE 1 expected 2
LOCK2 &ctx->map_changing_lock
HALF_LOCKED2 &state.ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/hugetlb.c hugetlb_mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-4,6
PARAM_VALUE 1 expected 2
DATA_SOURCE 0 flags $4
LOCK2 &state.ctx->map_changing_lock
HALF_LOCKED2 &ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock

mm/hugetlb.c hugetlb_mfill_atomic_pte() -> uffd_flags_mode_is()

Type Parameter Key Value
PARAM_VALUE 0 flags 0-4,6
PARAM_VALUE 1 expected 3
DATA_SOURCE 0 flags $4
LOCK2 &state.ctx->map_changing_lock
HALF_LOCKED2 &ctx->map_changing_lock
TYPE_LOCK (struct userfaultfd_ctx)->map_changing_lock