Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 5 files:

Smatch caller information:

arch/x86/kvm/../../../virt/kvm/eventfd.c irqfd_wakeup() -> eventfd_ctx_do_read()

Type Parameter Key Value
PARAM_VALUE 1 cnt 6464929840774156288
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sci->sc_wait_request.lock
HALF_LOCKED2 &x->lock
HALF_LOCKED2 flags

fs/eventfd.c eventfd_ctx_remove_wait_queue() -> eventfd_ctx_do_read()

Type Parameter Key Value
PARAM_VALUE 1 cnt 165692527276118016,1508170721414647808,4290207552691101696,7480621373900509184
DATA_SOURCE 0 ctx $0
DATA_SOURCE 1 cnt $2
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &ctx->wqh.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wait_queue_head)->lock

fs/eventfd.c eventfd_read() -> eventfd_ctx_do_read()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->wqh.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 cnt 6161911675616157696
PARAM_VALUE 1 *cnt 0
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
LOCK2 0 &ctx->wqh.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct wait_queue_head)->lock

drivers/xen/privcmd.c irqfd_inject() -> eventfd_ctx_do_read()

Type Parameter Key Value
PARAM_VALUE 1 cnt 2296868020006117376
BUF_SIZE 0 ctx s32min-(-1),1-s32max
BUF_SIZE 0 ctx s32min-(-1),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &irqfds_srcu

drivers/vfio/virqfd.c virqfd_wakeup() -> eventfd_ctx_do_read()

Type Parameter Key Value
PARAM_VALUE 1 cnt 4649262264805285888
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sci->sc_wait_request.lock
HALF_LOCKED2 &x->lock
HALF_LOCKED2 flags