Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/android/binder_alloc.c binder_alloc_mmap_handler() -> binder_insert_free_buffer()

Type Parameter Key Value
PARAM_VALUE 0 alloc 4096-ptr_max
PARAM_VALUE 0 alloc->buffer_size 0-4194304
PARAM_VALUE 0 alloc->buffers.next 4096-ptr_max
PARAM_VALUE 0 alloc->buffers.next->next 4096-ptr_max
PARAM_VALUE 0 alloc->buffers.next->prev 4096-ptr_max
PARAM_VALUE 0 alloc->mm 4096-ptr_max
PARAM_VALUE 0 alloc->pages 1-18446744073709551614
PARAM_VALUE 1 new_buffer 4096-ptr_max
PARAM_VALUE 1 new_buffer->entry.next 4096-ptr_max
PARAM_VALUE 1 new_buffer->entry.prev 4096-ptr_max
PARAM_VALUE 1 new_buffer->free 1
BUF_SIZE 0 alloc (-1),1216
BUF_SIZE 0 alloc (-1),1216
BUF_SIZE 0 alloc->pages 0-8192
BUF_SIZE 1 new_buffer 104
CAPPED_DATA 0 alloc->buffer_size 1
CAPPED_DATA 0 alloc->mm 1
DATA_SOURCE 0 alloc $0
DATA_SOURCE 1 new_buffer r _kzalloc_noprof
NOSPEC 0 alloc->vm_start
NOSPEC 1 new_buffer->user_data
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 alloc->vm_start 0-18446744073709547520
USER_DATA 1 new_buffer->user_data 0-18446744073709547520
HALF_LOCKED2 &ipcp->lock

drivers/android/binder_alloc.c binder_alloc_new_buf_locked() -> binder_insert_free_buffer()

Type Parameter Key Value
PARAM_VALUE 0 alloc 4096-ptr_max
PARAM_VALUE 0 alloc->mapped 1
PARAM_VALUE 0 alloc->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 alloc->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 alloc->mutex.dep_map->name 0-255
PARAM_VALUE 0 alloc->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 alloc->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 alloc->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 alloc->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 alloc->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 alloc->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 new_buffer 4096-ptr_max
PARAM_VALUE 1 new_buffer->entry.next 4096-ptr_max
PARAM_VALUE 1 new_buffer->entry.prev 4096-ptr_max
PARAM_VALUE 1 new_buffer->free 1
BUF_SIZE 1 new_buffer 104
DATA_SOURCE 0 alloc $0
DATA_SOURCE 1 new_buffer $1
NOCHECK_CALL
LOCK2 0 &alloc->mutex
TYPE_LOCK (struct binder_alloc)->mutex

drivers/android/binder_alloc.c binder_free_buf_locked() -> binder_insert_free_buffer()

Type Parameter Key Value
PARAM_VALUE 0 alloc 4096-ptr_max
PARAM_VALUE 0 alloc->allocated_buffers.rb_node 4096-ptr_max
PARAM_VALUE 0 alloc->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 alloc->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 alloc->mutex.dep_map->name 0-255
PARAM_VALUE 0 alloc->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 alloc->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 alloc->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 alloc->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 alloc->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 alloc->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 new_buffer 4096-ptr_max
PARAM_VALUE 1 new_buffer->free 1
PARAM_VALUE 1 new_buffer->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 1 new_buffer->rb_node.rb_right 0,4096-ptr_max
CAPPED_DATA 0 alloc->vm_start 1
CAPPED_DATA 0 &alloc->buffers 1
CAPPED_DATA 1 &new_buffer->entry 1
DATA_SOURCE 0 alloc $0
DATA_SOURCE 1 new_buffer $1 [m]
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 alloc->free_async_space 1-9223372036854775798[c][u]
USER_DATA 1 new_buffer->async_transaction 0-1
USER_DATA 1 new_buffer->data_size 0-u64max[c]
USER_DATA 1 new_buffer->extra_buffers_size 0-u64max[c]
USER_DATA 1 new_buffer->offsets_size 0-u64max[c]
USER_DATA 1 new_buffer->user_data 0-s32max[c]
LOCK2 0 &alloc->mutex
TYPE_LOCK (struct binder_alloc)->mutex