Defined in 1 files as a function:
Referenced in 6 files:
- io_uring/cancel.c, line 638
- io_uring/io_uring.h, line 584
- io_uring/loop.c, line 29
- io_uring/tw.c
- io_uring/tw.h, line 98
- io_uring/wait.c
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 |