Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 2 work 4096-ptr_max
DATA_SOURCE 0 cpu $0
DATA_SOURCE 1 wq $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq_flags

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

Type Parameter Key Value
PARAM_VALUE 2 work 4096-ptr_max
NOCHECK_CALL

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

Type Parameter Key Value
PARAM_VALUE 2 work 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &cxt->pstore_zone_info_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &hdev->driver_input_lock
HALF_LOCKED2 &hdev->lock
HALF_LOCKED2 &hdev->req_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 &nfc_dev->dev.mutex
HALF_LOCKED2 &nfc_dev->genl_data.genl_data_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &nvmf_dev_mutex
HALF_LOCKED2 global &pstore_blk_lock
HALF_LOCKED2 global &rtnl_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
PARAM_VALUE 1 wq 4096-ptr_max
PARAM_VALUE 2 work 4096-ptr_max
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r select_numa_node_cpu
DATA_SOURCE 1 wq $1
DATA_SOURCE 2 work $2
BIT_INFO 1 wq->flags 0x0,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq_flags

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

Type Parameter Key Value
PARAM_VALUE 2 work 4096-ptr_max
DATA_SOURCE 0 cpu $0
DATA_SOURCE 1 wq $1
DATA_SOURCE 2 work $2
NOCHECK_CALL
LOCK2 irq_flags

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

Type Parameter Key Value
PARAM_VALUE 0 cpu 8192
PARAM_VALUE 2 work 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 bh
HALF_LOCKED2 rcu