Documented in 1 files:
Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
kernel/workqueue.c __queue_work() -> insert_work()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pwq | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->inactive_works.next | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->nr_in_flight | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->pending_node.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->pending_node.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->pool | 4096-ptr_max |
| PARAM_VALUE | 1 | work | 4096-ptr_max |
| PARAM_VALUE | 1 | work->entry.next | 4096-ptr_max |
| PARAM_VALUE | 2 | head | 4096-ptr_max |
| PARAM_VALUE | 3 | extra_flags | 0,32-4294967264 |
| CAPPED_DATA | 0 | &pwq->inactive_works | 1 |
| CAPPED_DATA | 1 | work | 1 |
| CAPPED_DATA | 1 | &work->entry | 1 |
| DATA_SOURCE | 1 | work | $2 |
| DATA_SOURCE | 3 | extra_flags | r work_color_to_flags |
| PARAM_COMPARE | 0 | &pwq->inactive_works | == $0->inactive_works.next |
| PARAM_COMPARE | 1 | &work->entry | == $1->entry.next |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &last_pool->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | irq_flags | ||
| TYPE_LOCK | (struct worker_pool)->lock |
kernel/workqueue.c __queue_work() -> insert_work()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pwq | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->inactive_works.next | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->nr_in_flight | 4096-ptr_max |
| PARAM_VALUE | 1 | work | 4096-ptr_max |
| PARAM_VALUE | 1 | work->entry.next | 4096-ptr_max |
| PARAM_VALUE | 2 | head | 4096-ptr_max |
| PARAM_VALUE | 2 | head->next | 4096-ptr_max |
| PARAM_VALUE | 3 | extra_flags | 2,34-4294967266 |
| CAPPED_DATA | 0 | &pwq->inactive_works | 1 |
| CAPPED_DATA | 1 | work | 1 |
| CAPPED_DATA | 1 | &work->entry | 1 |
| DATA_SOURCE | 1 | work | $2 |
| PARAM_COMPARE | 1 | &work->entry | == $1->entry.next |
| BIT_INFO | 3 | extra_flags | 0x2,0xffffffff |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &last_pool->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | irq_flags | ||
| TYPE_LOCK | (struct worker_pool)->lock |
kernel/workqueue.c insert_wq_barrier() -> insert_work()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pwq | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->nr_in_flight | 4096-ptr_max |
| PARAM_VALUE | 0 | pwq->wq | 4096-ptr_max |
| PARAM_VALUE | 1 | work | 2203663019674140672 |
| PARAM_VALUE | 3 | extra_flags | 2,10,34-4294967274 |
| DATA_SOURCE | 0 | pwq | $0 |
| BIT_INFO | 3 | extra_flags | 0x2,0xffffffff |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &pool->lock | ||
| LOCK2 | irq | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct worker_pool)->lock |