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 |