Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/userfaultfd.c dup_userfaultfd_fail() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte

mm/userfaultfd.c dup_userfaultfd_fail() -> userfaultfd_ctx_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/userfaultfd.c handle_userfault() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->fault_pending_wqh.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mm 4096-ptr_max
PARAM_VALUE 0 ctx->released 0
BIT_INFO 0 ctx->features 0x0,0xffffff7f
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte

mm/userfaultfd.c mremap_userfaultfd_fail() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
NOCHECK_CALL
UNITS 0 ctx unit_byte
HALF_LOCKED2 &mm->mmap_lock

mm/userfaultfd.c userfaultfd_ctx_read() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->event_wqh.lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wait_queue_head)->lock

mm/userfaultfd.c userfaultfd_ctx_read() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->event_wqh.lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wait_queue_head)->lock

mm/userfaultfd.c userfaultfd_event_wait_completion() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->mm 4096-ptr_max
PARAM_VALUE 0 ctx->mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mm->mmap_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 ctx->mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 ctx->mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 ctx->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 ctx->mm->mmap_lock.osq.tail.counter 0-s32max
CAPPED_DATA 0 ctx 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

mm/userfaultfd.c userfaultfd_event_wait_completion() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->event_wqh.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctx->map_changing_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ctx->map_changing_lock.first_waiter->type 0-1
DATA_SOURCE 0 ctx $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte

mm/userfaultfd.c userfaultfd_release() -> userfaultfd_ctx_put()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->event_wqh.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctx->fault_pending_wqh.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctx->fault_wqh.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctx->fd_wqh.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctx->mm 4096-ptr_max
PARAM_VALUE 0 ctx->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 ctx->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 ctx->released 1
BUF_SIZE 0 ctx (-1),26
BUF_SIZE 0 ctx (-1),26
CAPPED_DATA 0 ctx 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 ctx unit_byte