Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/workqueue.c __queue_work() -> find_worker_executing_work()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 work 4096-ptr_max
CAPPED_DATA 1 work 1
DATA_SOURCE 0 pool r get_work_pool
DATA_SOURCE 1 work $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
LOCK2 0 &pool->lock
HALF_LOCKED2 irq
HALF_LOCKED2 irq_flags
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c assign_work() -> find_worker_executing_work()

Type Parameter Key Value
PARAM_VALUE 1 work 4096-ptr_max
PARAM_VALUE 1 work->func 0-3274354728416366591,3274354728416366593-u64max
DATA_SOURCE 1 work $0
PREEMPT_ADD
LOCK2 &pool->lock
LOCK2 irq
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c start_flush_work() -> find_worker_executing_work()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 work 4096-ptr_max
PARAM_VALUE 1 work->func 1-u64max
DATA_SOURCE 0 pool r get_work_pool
DATA_SOURCE 1 work $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 rcu_read
LOCK2 0 &pool->lock
TYPE_LOCK (struct worker_pool)->lock

kernel/workqueue.c work_busy() -> find_worker_executing_work()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.dep_map->name 0-255
PARAM_VALUE 0 pool->lock.owner_cpu 0
PARAM_VALUE 0 pool->lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 1 work 4096-ptr_max
DATA_SOURCE 0 pool r get_work_pool
DATA_SOURCE 1 work $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq_flags
LOCK2 rcu_read
LOCK2 0 &pool->lock
HALF_LOCKED2 &arfs->arfs_lock
HALF_LOCKED2 &mbox->mbox_send_lock
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &space_info->lock
HALF_LOCKED2 &tp->control
HALF_LOCKED2 bh
TYPE_LOCK (struct worker_pool)->lock