Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 proc 4096-ptr_max
PARAM_VALUE 0 proc->alloc->pages 1-u64max
PARAM_VALUE 0 proc->alloc.allocated_buffers.rb_node 4096-ptr_max
PARAM_VALUE 0 proc->alloc.free_async_space 1-9223372036854775799
PARAM_VALUE 0 proc->alloc.free_buffers.rb_node 4096-ptr_max
PARAM_VALUE 0 proc->alloc.mapped 1
PARAM_VALUE 0 proc->alloc.mm->async_put_work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 proc->alloc.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 proc->alloc.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 proc->alloc.pages_high 1-u64max
PARAM_VALUE 2 buffer 4096-ptr_max
PARAM_VALUE 2 buffer->allow_user_free 0
PARAM_VALUE 2 buffer->free 0
PARAM_VALUE 2 buffer->rb_node.__rb_parent_color 1
PARAM_VALUE 2 buffer->rb_node.rb_left 4096-ptr_max
PARAM_VALUE 2 buffer->rb_node.rb_right 4096-ptr_max
PARAM_VALUE 2 buffer->target_node 0,4096-ptr_max
PARAM_VALUE 2 buffer->target_node->proc 4096-ptr_max
PARAM_VALUE 2 buffer->transaction 4096-ptr_max
PARAM_VALUE 2 buffer->transaction->buffer 4096-ptr_max
PARAM_VALUE 2 buffer->transaction->fd_fixups.next 4096-ptr_max
PARAM_VALUE 2 buffer->transaction->fd_fixups.prev 4096-ptr_max
PARAM_VALUE 2 buffer->transaction->priority s32min-s32max
PARAM_VALUE 2 buffer->transaction->to_proc 4096-ptr_max
PARAM_VALUE 2 buffer->transaction->work.type 1
PARAM_VALUE 4 object 9106220478677114880
BUF_SIZE 2 buffer->transaction 232
CAPPED_DATA 0 proc 1
CAPPED_DATA 2 buffer->data_size 1
CAPPED_DATA 2 buffer->extra_buffers_size 1
CAPPED_DATA 2 buffer->offsets_size 1
DATA_SOURCE 2 buffer r binder_alloc_new_buf
NOSPEC 2 buffer->data_size
USER_DATA 0 proc->alloc.free_async_space 1-9223372036854775798[c][u]
USER_DATA 2 buffer->async_transaction 0-1
USER_DATA 2 buffer->clear_on_free 0-1
USER_DATA 2 buffer->data_size 0-u64max[c]
USER_DATA 2 buffer->extra_buffers_size 0-u64max[c]
USER_DATA 2 buffer->offsets_size 0-u64max[c]
USER_DATA 2 buffer->transaction->code 0-u32max
USER_DATA 2 buffer->transaction->flags 0-u32max
USER_DATA 2 buffer->transaction->is_async 0-1
USER_DATA 2 buffer->transaction->security_ctx 0-u64max[c]
UNITS 0 proc unit_byte
UNITS 3 offset unit_byte

drivers/android/binder.c binder_transaction_buffer_release() -> binder_get_object()

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 1 u 0
PARAM_VALUE 2 buffer 4096-ptr_max
PARAM_VALUE 2 buffer->free 0
PARAM_VALUE 2 buffer->target_node 0,4096-ptr_max
PARAM_VALUE 2 buffer->target_node->dead_node->next->pprev 1-u64max
PARAM_VALUE 2 buffer->target_node->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 buffer->target_node->proc->inner_lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 buffer->target_node->proc->nodes.rb_node 4096-ptr_max
PARAM_VALUE 2 buffer->target_node->proc->todo.prev 4096-ptr_max
PARAM_VALUE 2 buffer->target_node->proc->todo.prev->next 4096-ptr_max
PARAM_VALUE 2 buffer->target_node->proc->todo.prev->next->next 4096-ptr_max
PARAM_VALUE 2 buffer->target_node->work.entry.next->next 4096-ptr_max
PARAM_VALUE 2 buffer->target_node->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 2 buffer->target_node->work.entry.prev->next 4096-ptr_max
PARAM_VALUE 2 buffer->target_node->work.entry.prev->prev 4096-ptr_max
PARAM_VALUE 2 buffer->transaction 0
PARAM_VALUE 4 object 3938605042311122944
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
CAPPED_DATA 0 proc 1
CAPPED_DATA 2 buffer->target_node 1
DATA_SOURCE 0 proc $0
DATA_SOURCE 2 buffer $2
TASK_NOT_RUNNING
USER_DATA 2 buffer->user_data 0-u64max[c]
UNITS 0 proc unit_byte

drivers/android/binder.c binder_validate_fixup() -> binder_get_object()

Type Parameter Key Value
PARAM_VALUE 0 proc->alloc.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 proc->alloc.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 u 0
PARAM_VALUE 2 buffer->data_size 24-u64max
PARAM_VALUE 2 buffer->free 0
PARAM_VALUE 4 object 1222858552098054144
CAPPED_DATA 2 buffer->data_size 1
DATA_SOURCE 0 proc $0
DATA_SOURCE 2 buffer $1
DATA_SOURCE 3 offset $5 [m]
UNITS 0 proc unit_byte

drivers/android/binder.c binder_validate_ptr() -> binder_get_object()

Type Parameter Key Value
PARAM_VALUE 0 proc->alloc.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 proc->alloc.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 u 0
PARAM_VALUE 2 buffer 4096-ptr_max
PARAM_VALUE 2 buffer->free 0
PARAM_VALUE 4 object 8011661200560672768,8049513855744712704,8262723056086933504
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 0 proc s32min-(-1),1-s32max
BUF_SIZE 2 buffer->transaction (-1),232
DATA_SOURCE 0 proc $0
DATA_SOURCE 2 buffer $1
DATA_SOURCE 4 object $2
NOSPEC 2 buffer->data_size
TASK_NOT_RUNNING
USER_DATA 0 proc->alloc.free_async_space 1-9223372036854775798[c][u]
USER_DATA 2 buffer->async_transaction 0-1
USER_DATA 2 buffer->clear_on_free 0-1
USER_DATA 2 buffer->data_size 24-u64max[c]
USER_DATA 2 buffer->extra_buffers_size 0-u64max[c]
USER_DATA 2 buffer->offsets_size 0-u64max[c]
USER_DATA 2 buffer->transaction->code 0-u32max
USER_DATA 2 buffer->transaction->flags 0-u32max
USER_DATA 2 buffer->transaction->is_async 0-1
USER_DATA 2 buffer->transaction->security_ctx 0-u64max[c]
USER_DATA 2 buffer->user_data 0-u64max[c]
UNITS 0 proc unit_byte