Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/android/binder.c binder_available_for_proc_work_ilocked() -> binder_worklist_empty_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &proc->inner_lock
HALF_LOCKED2 &thread->proc->inner_lock

drivers/android/binder.c binder_has_work_ilocked() -> binder_worklist_empty_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &proc->inner_lock
HALF_LOCKED2 &thread->proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_ioctl_write_read() -> binder_worklist_empty_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

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

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

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

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

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

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock

drivers/android/binder.c binder_worklist_empty() -> binder_worklist_empty_ilocked()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
DATA_SOURCE 0 list $1
PREEMPT_ADD <- disables preempt
LOCK2 &proc->inner_lock
TYPE_LOCK (struct binder_proc)->inner_lock