Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 5681
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 node unit_byte
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4011
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4022
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4043
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_get_ref_for_node_olocked() -> _binder_node_unlock()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->refs.first 4096-ptr_max
PARAM_VALUE 1 line 1178
BUF_SIZE 0 node (-1),200
BUF_SIZE 0 node (-1),200
CAPPED_DATA 0 node 1
DATA_SOURCE 0 node $1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
HALF_LOCKED2 &context->context_mgr_node_lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_inc_node_tmpref() -> _binder_node_unlock()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->proc 0,4096-ptr_max
PARAM_VALUE 0 node->proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 978
DATA_SOURCE 0 node $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_ioctl_set_ctx_mgr() -> _binder_node_unlock()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->has_strong_ref 1
PARAM_VALUE 0 node->has_weak_ref 1
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 5558
BUF_SIZE 0 node (-1),200
BUF_SIZE 0 node (-1),200
CAPPED_DATA 0 node 1
DATA_SOURCE 0 node r binder_new_node
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
USER_DATA 0 node->accept_fds 0-1
USER_DATA 0 node->cookie 0-u64max
USER_DATA 0 node->min_priority 0-255[c]
USER_DATA 0 node->ptr 0-u64max
USER_DATA 0 node->txn_security_ctx 0-1
LOCK2 _T->lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->proc 4096-ptr_max
PARAM_VALUE 0 node->proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 0 node->rb_node.rb_right 0,4096-ptr_max
PARAM_VALUE 0 node->refs.first 0
PARAM_VALUE 0 node->tmp_refs 1
PARAM_VALUE 0 node->work.entry.next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.next->next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev->prev 4096-ptr_max
PARAM_VALUE 1 line 6227
DATA_SOURCE 0 node $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &node->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct binder_node)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->dead_node->pprev 4096-ptr_max
PARAM_VALUE 0 node->dead_node.next 0,4096-ptr_max
PARAM_VALUE 0 node->dead_node.pprev 6988897593645690880
PARAM_VALUE 0 node->local_strong_refs 0
PARAM_VALUE 0 node->local_weak_refs 0
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->proc 0
PARAM_VALUE 0 node->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 0 node->rb_node.rb_right 0,4096-ptr_max
PARAM_VALUE 0 node->tmp_refs s32min-(-1),1-s32max
PARAM_VALUE 0 node->work.entry.next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.next->next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev->prev 4096-ptr_max
PARAM_VALUE 1 line 6269
DATA_SOURCE 0 node $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &node->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct binder_node)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 2890
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->async_todo.prev 4096-ptr_max
PARAM_VALUE 0 node->async_todo.prev->next 4096-ptr_max
PARAM_VALUE 0 node->async_todo.prev->next->next 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 2921
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 3961
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->proc 0,4096-ptr_max
PARAM_VALUE 0 node->proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 3984
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->has_strong_ref 0
PARAM_VALUE 0 node->has_weak_ref 0
PARAM_VALUE 0 node->internal_strong_refs 0
PARAM_VALUE 0 node->local_strong_refs 0
PARAM_VALUE 0 node->local_weak_refs 0
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->proc 4096-ptr_max
PARAM_VALUE 0 node->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 0 node->rb_node.rb_right 0,4096-ptr_max
PARAM_VALUE 0 node->refs.first 0
PARAM_VALUE 0 node->tmp_refs 0
PARAM_VALUE 1 line 4921
CAPPED_DATA 0 node->proc 1
CAPPED_DATA 0 &node->rb_node 1
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4456
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4478
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4488
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

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

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 4515
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock

drivers/android/binder.c binder_translate_handle() -> _binder_node_unlock()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->proc 4096-ptr_max
PARAM_VALUE 0 node->proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->work.entry.next 0,4096-ptr_max
PARAM_VALUE 0 node->work.entry.next->next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 node->work.entry.prev->prev 4096-ptr_max
PARAM_VALUE 1 line 2336
CAPPED_DATA 0 node 1
CAPPED_DATA 0 node->proc 1
DATA_SOURCE 0 node r binder_get_node_from_ref
NOCHECK_CALL
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock

drivers/android/binder.c binder_translate_handle() -> _binder_node_unlock()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 node->proc 0,4096-ptr_max
PARAM_VALUE 0 node->proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 2340
DATA_SOURCE 0 node r binder_get_node_from_ref
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &node->lock
TYPE_LOCK (struct binder_node)->lock

drivers/android/binder.c print_binder_ref_olocked() -> _binder_node_unlock()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 line 6586
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &m->lock
LOCK2 &proc->outer_lock
LOCK2 0 &node->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &binder_procs_lock
TYPE_LOCK (struct binder_node)->lock
TYPE_LOCK (struct binder_proc)->outer_lock
TYPE_LOCK (struct seq_file)->lock