Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4002
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 4012
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 4023
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 4044
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_deferred_release() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->async_recv 0
PARAM_VALUE 0 proc->context 4096-ptr_max
PARAM_VALUE 0 proc->context->binder_context_mgr_node 0,4096-ptr_max
PARAM_VALUE 0 proc->context->context_mgr_node_lock.dep_map->name 0-255
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 proc->context->context_mgr_node_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 proc->context->context_mgr_node_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 proc->deferred_work 0
PARAM_VALUE 0 proc->deferred_work_node.pprev 0
PARAM_VALUE 0 proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->is_dead 1
PARAM_VALUE 0 proc->is_frozen 0
PARAM_VALUE 0 proc->nodes.rb_node 0,4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->proc_node->next->pprev 1-u64max
PARAM_VALUE 0 proc->refs_by_desc.rb_node 4096-ptr_max
PARAM_VALUE 0 proc->sync_recv 0
PARAM_VALUE 0 proc->threads.rb_node 0,4096-ptr_max
PARAM_VALUE 1 line 6345
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_deferred_release() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->async_recv 0
PARAM_VALUE 0 proc->context 4096-ptr_max
PARAM_VALUE 0 proc->context->binder_context_mgr_node 0,4096-ptr_max
PARAM_VALUE 0 proc->context->context_mgr_node_lock.dep_map->name 0-255
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 proc->context->context_mgr_node_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 proc->context->context_mgr_node_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 proc->context->context_mgr_node_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 proc->deferred_work 0
PARAM_VALUE 0 proc->deferred_work_node.pprev 0
PARAM_VALUE 0 proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->is_dead 1
PARAM_VALUE 0 proc->is_frozen 0
PARAM_VALUE 0 proc->nodes.rb_node 0,4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->proc_node->next->pprev 1-u64max
PARAM_VALUE 0 proc->refs_by_desc.rb_node 0,4096-ptr_max
PARAM_VALUE 0 proc->sync_recv 0
PARAM_VALUE 0 proc->threads.rb_node 0,4096-ptr_max
PARAM_VALUE 1 line 6349
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_get_node_from_ref() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 1336
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_get_node_from_ref() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 1341
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_inc_ref_for_node() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 1471
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
HALF_LOCKED2 &context->context_mgr_node_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_inc_ref_for_node() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 1492
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
HALF_LOCKED2 &context->context_mgr_node_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 3952
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 3962
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 3985
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4436
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 4457
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 4479
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 4489
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 4516
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_transaction() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->context 4096-ptr_max
PARAM_VALUE 0 proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 3227
BUF_SIZE 0 proc s32min-(-2),1-s32max
BUF_SIZE 0 proc s32min-(-2),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_update_ref_for_handle() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 1414
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_update_ref_for_handle() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 1423
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c get_ref_desc_olocked() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->context 4096-ptr_max
PARAM_VALUE 0 proc->dmap.nbits 1-64
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 1091
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
DATA_SOURCE 0 proc $0
PREEMPT_ADD
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
HALF_LOCKED2 &context->context_mgr_node_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c print_binder_proc() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->context 4096-ptr_max
PARAM_VALUE 0 proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->nodes.rb_node 0,4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 0,4096-ptr_max
PARAM_VALUE 0 proc->threads.rb_node 0,4096-ptr_max
PARAM_VALUE 1 line 6673
DATA_SOURCE 0 proc $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &m->lock
LOCK2 0 &proc->outer_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &binder_procs_lock
TYPE_LOCK (struct binder_proc)->outer_lock
TYPE_LOCK (struct seq_file)->lock

drivers/android/binder.c print_binder_proc_stats() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->context 4096-ptr_max
PARAM_VALUE 0 proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->nodes.rb_node 0,4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 0,4096-ptr_max
PARAM_VALUE 0 proc->threads.rb_node 0,4096-ptr_max
PARAM_VALUE 1 line 6842
CAPPED_DATA 0 &proc->waiting_threads 1
DATA_SOURCE 0 proc $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &m->lock
LOCK2 global &binder_procs_lock
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock
TYPE_LOCK (struct seq_file)->lock

drivers/android/binder.c try_shrink_dmap() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 1369
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c try_shrink_dmap() -> _binder_proc_unlock()

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->dmap.nbits 32-u32max
PARAM_VALUE 0 proc->outer_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 proc->refs_by_desc.rb_node 1-u64max
PARAM_VALUE 1 line 1377
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
CAPPED_DATA 0 proc 1
DATA_SOURCE 0 proc $0
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 proc unit_byte
LOCK2 0 &proc->outer_lock
TYPE_LOCK (struct binder_proc)->outer_lock