Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/android/binder_alloc.c binder_free_buf_locked() -> binder_delete_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->free_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 buffer 4096-ptr_max
PARAM_VALUE 1 buffer->free 1
PARAM_VALUE 1 buffer->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 1 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 &buffer->rb_node 1
DATA_SOURCE 0 alloc $0
DATA_SOURCE 1 buffer r binder_buffer_next
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 alloc->free_async_space 1-9223372036854775798[c][u]
LOCK2 0 &alloc->mutex
TYPE_LOCK (struct binder_alloc)->mutex

drivers/android/binder_alloc.c binder_free_buf_locked() -> binder_delete_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 buffer 4096-ptr_max
PARAM_VALUE 1 buffer->clear_on_free 0
PARAM_VALUE 1 buffer->free 1
PARAM_VALUE 1 buffer->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 1 buffer->rb_node.rb_right 0,4096-ptr_max
PARAM_VALUE 1 buffer->transaction 0
CAPPED_DATA 0 alloc->vm_start 1
CAPPED_DATA 0 &alloc->buffers 1
CAPPED_DATA 1 buffer->user_data 1
CAPPED_DATA 1 &buffer->rb_node 1
DATA_SOURCE 0 alloc $0
DATA_SOURCE 1 buffer $1
PARAM_COMPARE 0 alloc->vm_start <= $1->user_data
PARAM_COMPARE 1 &buffer->entry != $0->buffers.next
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 alloc->free_async_space 1-9223372036854775798[c][u]
USER_DATA 1 buffer->async_transaction 0-1
USER_DATA 1 buffer->data_size 0-u64max[c]
USER_DATA 1 buffer->extra_buffers_size 0-u64max[c]
USER_DATA 1 buffer->offsets_size 0-u64max[c]
USER_DATA 1 buffer->user_data 0-s32max[c]
LOCK2 0 &alloc->mutex
TYPE_LOCK (struct binder_alloc)->mutex