Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/padata.c padata_setup_cpumasks() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 4096-ptr_max
PARAM_VALUE 0 attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 attrs->affn_scope 0
PARAM_VALUE 0 attrs->cpumask 1-u64max
BUF_SIZE 0 attrs (-1),40
BUF_SIZE 0 attrs (-1),40
DATA_SOURCE 0 attrs r alloc_workqueue_attrs_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pinst->lock

kernel/workqueue.c __alloc_workqueue() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 0,4096-ptr_max
PARAM_VALUE 0 attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 attrs->affn_scope 0
PARAM_VALUE 0 attrs->cpumask 1-u64max
BUF_SIZE 0 attrs (-1),40
BUF_SIZE 0 attrs (-1),40
DATA_SOURCE 0 attrs r alloc_workqueue_attrs_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/workqueue.c alloc_workqueue_attrs_noprof() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 0,4096-ptr_max
BUF_SIZE 0 attrs 40
DATA_SOURCE 0 attrs r _kzalloc_noprof
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &wq_pool_mutex

kernel/workqueue.c apply_wqattrs_cleanup() -> free_workqueue_attrs()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &wq_pool_mutex
HALF_LOCKED2 &of->mutex

kernel/workqueue.c apply_wqattrs_prepare() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 0,4096-ptr_max
PARAM_VALUE 0 attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 attrs->affn_scope 0-6
PARAM_VALUE 0 attrs->cpumask 1-u64max
BUF_SIZE 0 attrs (-1),40
BUF_SIZE 0 attrs (-1),40
DATA_SOURCE 0 attrs r alloc_workqueue_attrs_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &wq_pool_mutex
HALF_LOCKED2 &of->mutex

kernel/workqueue.c rcu_free_pool() -> free_workqueue_attrs()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

kernel/workqueue.c rcu_free_wq() -> free_workqueue_attrs()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

kernel/workqueue.c wq_affinity_strict_store() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 0,4096-ptr_max
PARAM_VALUE 0 attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 attrs->cpumask 1-u64max
BUF_SIZE 0 attrs (-1),40
BUF_SIZE 0 attrs (-1),40
DATA_SOURCE 0 attrs r wq_sysfs_prep_attrs
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/workqueue.c wq_affn_scope_store() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 0,4096-ptr_max
PARAM_VALUE 0 attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 attrs->affn_scope 0-6
PARAM_VALUE 0 attrs->cpumask 1-u64max
BUF_SIZE 0 attrs (-1),40
BUF_SIZE 0 attrs (-1),40
CAPPED_DATA 0 attrs->affn_scope 1
DATA_SOURCE 0 attrs r wq_sysfs_prep_attrs
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/workqueue.c wq_cpumask_store() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 0,4096-ptr_max
PARAM_VALUE 0 attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 attrs->cpumask 1-u64max
BUF_SIZE 0 attrs (-1),40
BUF_SIZE 0 attrs (-1),40
DATA_SOURCE 0 attrs r wq_sysfs_prep_attrs
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

kernel/workqueue.c wq_nice_store() -> free_workqueue_attrs()

Type Parameter Key Value
PARAM_VALUE 0 attrs 0,4096-ptr_max
PARAM_VALUE 0 attrs->__pod_cpumask 1-u64max
PARAM_VALUE 0 attrs->cpumask 1-u64max
BUF_SIZE 0 attrs (-1),40
BUF_SIZE 0 attrs (-1),40
DATA_SOURCE 0 attrs r wq_sysfs_prep_attrs
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex