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 |