Documented in 1 files:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
mm/userfaultfd.c mfill_atomic_hugetlb() -> pte_is_uffd_marker()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pte | r huge_ptep_get |
| 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_install_pte() -> pte_is_uffd_marker()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pte | r ptep_get |
| LOCK2 | &state.ctx->map_changing_lock | ||
| LOCK2 | ptl | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c userfaultfd_huge_must_wait() -> pte_is_uffd_marker()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pte | r huge_ptep_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/userfaultfd.c userfaultfd_must_wait() -> pte_is_uffd_marker()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pte | r ptep_get |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read |
mm/hugetlb.c hugetlb_mfill_atomic_pte() -> pte_is_uffd_marker()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | pte | r huge_ptep_get |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &state.ctx->map_changing_lock | ||
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |