Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

io_uring/napi.c io_has_work() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
CAPPED_DATA 0 ctx->rings_rcu 1
DATA_SOURCE 0 ctx $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

io_uring/wait.c io_cqring_min_timer_wakeup() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->work_list.tail 4096-ptr_max
CAPPED_DATA 0 ctx->rings_rcu 1
PARAM_COMPARE 0 &ctx->work_list.stub == $0->work_list.tail
BIT_INFO 0 ctx->flags 0x2000,0xffffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

io_uring/wait.c io_cqring_wait() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx 1
DATA_SOURCE 0 ctx $0
BIT_INFO 0 ctx->int_flags 0x0,0xfffffeff
USER_DATA 0 ctx->submit_state.need_plug 0-1

io_uring/wait.c io_cqring_wait() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->work_list.tail 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx 1
CAPPED_DATA 0 ctx->rings_rcu 1
DATA_SOURCE 0 ctx $0
BIT_INFO 0 ctx->flags 0x0,0xffffffff
BIT_INFO 0 ctx->int_flags 0x0,0xfffffeff
USER_DATA 0 ctx->submit_state.need_plug 0-1

io_uring/wait.c io_cqring_wait_schedule() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
PARAM_VALUE 0 ctx->work_list.tail 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx 1
CAPPED_DATA 0 ctx->rings_rcu 1
DATA_SOURCE 0 ctx $0
BIT_INFO 0 ctx->flags 0x0,0xffffffff
BIT_INFO 0 ctx->int_flags 0x0,0xfffffeff
USER_DATA 0 ctx->submit_state.need_plug 0-1

io_uring/wait.c io_has_work() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
DATA_SOURCE 0 ctx $0
RX_PATH
TASK_NOT_RUNNING

io_uring/wait.c io_run_task_work_sig() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx->submitter_task 1
DATA_SOURCE 0 ctx $0

io_uring/io_uring.c io_has_work() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx->rings_rcu 1
DATA_SOURCE 0 ctx $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

io_uring/io_uring.c io_task_work_pending() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx 1
CAPPED_DATA 0 ctx->rings_rcu 1
DATA_SOURCE 0 ctx $0
BIT_INFO 0 ctx->int_flags 0x100,0xffffffffffffffff
USER_DATA 0 ctx->submit_state.need_plug 0-1
LOCK2 0 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

io_uring/cancel.c io_uring_cancel_generic() -> io_local_work_pending()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctx unit_byte
HALF_LOCKED2 &sqd->lock

io_uring/loop.c io_loop_wait() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
DATA_SOURCE 0 ctx $0
LOCK2 0 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

io_uring/tw.c io_run_local_work_continue() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-1),1-s32max
BUF_SIZE 0 ctx s32min-(-1),1-s32max
CAPPED_DATA 0 ctx->submitter_task 1
DATA_SOURCE 0 ctx $0
BIT_INFO 0 ctx->flags 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 ctx->submit_state.need_plug 0-1
UNITS 0 ctx unit_byte
LOCK2 0 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock

io_uring/tw.c io_run_local_work_locked() -> io_local_work_pending()

Type Parameter Key Value
PARAM_VALUE 0 ctx 4096-ptr_max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
BUF_SIZE 0 ctx s32min-(-2),1-s32max
CAPPED_DATA 0 ctx 1
DATA_SOURCE 0 ctx $0
USER_DATA 0 ctx->submit_state.need_plug 0-1
LOCK2 0 &ctx->uring_lock
TYPE_LOCK (struct io_ring_ctx)->uring_lock