Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/android/binder.c binder_add_freeze_work() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work->type 10
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &node->lock
LOCK2 &ref->proc->inner_lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_clear_freeze_notification() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->type 11
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->inner_lock
LOCK2 &proc->outer_lock
LOCK2 &ref->node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_dec_node_nilocked() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &node->lock
HALF_LOCKED2 &proc->outer_lock
TYPE_LOCK (struct binder_node)->lock

drivers/android/binder.c binder_enqueue_deferred_thread_work_ilocked() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
DATA_SOURCE 0 work $1
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &node->lock
TYPE_LOCK (struct binder_node)->lock

drivers/android/binder.c binder_enqueue_thread_work_ilocked() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
DATA_SOURCE 0 work $1
PREEMPT_ADD
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &node->lock
HALF_LOCKED2 &proc->inner_lock
HALF_LOCKED2 &proc->outer_lock
HALF_LOCKED2 &ref->node->lock
HALF_LOCKED2 &thread->proc->inner_lock

drivers/android/binder.c binder_free_buf() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.next->next 4096-ptr_max
PARAM_VALUE 0 work->entry.next->prev 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 0 work->entry.prev->next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev->prev 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
DATA_SOURCE 0 work r binder_dequeue_work_head_ilocked
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &buf_node->lock
TYPE_LOCK (struct binder_node)->lock

drivers/android/binder.c binder_freeze_notification_done() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_inc_node_nilocked() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
DATA_SOURCE 1 target_list $3
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &node->lock
LOCK2 &proc->outer_lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_node_release() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work->type 7
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &node->lock
LOCK2 &ref->proc->inner_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_proc_transaction() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &node->lock
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_proc_transaction() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &node->lock
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_request_freeze_notification() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 0 work->type 10
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->inner_lock
LOCK2 &proc->outer_lock
LOCK2 &ref->node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_thread_read() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.next->next 4096-ptr_max
PARAM_VALUE 0 work->entry.next->prev 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 0 work->entry.prev->next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 work->type 7-8
PARAM_VALUE 1 target_list 4096-ptr_max
DATA_SOURCE 0 work r binder_dequeue_work_head_ilocked
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_thread_read() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.next->next 4096-ptr_max
PARAM_VALUE 0 work->entry.next->prev 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 0 work->entry.prev->next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 work->type 10
PARAM_VALUE 1 target_list 4096-ptr_max
DATA_SOURCE 0 work r binder_dequeue_work_head_ilocked
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_thread_write() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 0 work->type 7
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->inner_lock
LOCK2 &proc->outer_lock
LOCK2 &ref->node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_thread_write() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->type 9
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->inner_lock
LOCK2 &proc->outer_lock
LOCK2 &ref->node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->inner_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_thread_write() -> binder_enqueue_work_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->entry.next 4096-ptr_max
PARAM_VALUE 0 work->entry.prev 4096-ptr_max
PARAM_VALUE 0 work->type 9
PARAM_VALUE 1 target_list 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock