Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit edaed8a8 authored by Martijn Coenen's avatar Martijn Coenen Committed by Trilok Soni
Browse files

android: binder: support for scatter-gather.



Previously all data passed over binder needed
to be serialized, with the exception of Binder
objects and file descriptors.

This patchs adds support for scatter-gathering raw
memory buffers into a binder transaction, avoiding
the need to first serialize them into a Parcel.

To remain backwards compatibile with existing
binder clients, it introduces two new command
ioctls for this purpose - BC_TRANSACTION_SG and
BC_REPLY_SG. These commands may only be used with
the new binder_transaction_data_sg structure,
which adds a field for the total size of the
buffers we are scatter-gathering.

Because memory buffers may contain pointers to
other buffers, we allow callers to specify
a parent buffer and an offset into it, to indicate
this is a location pointing to the buffer that
we are fixing up. The kernel will then take care
of fixing up the pointer to that buffer as well.

Change-Id: Ia9bb2c588d932b6627a04baf4a62a09ae6aca087
Signed-off-by: default avatarMartijn Coenen <maco@google.com>
Git-commit: 34b8f977
Git-repo: https://git.linaro.org/kernel/linux-linaro-stable


[tsoni@codeaurora.org: Fixed 32 bit compilation]
Signed-off-by: default avatarNeeraj Upadhyay <neeraju@codeaurora.org>
Signed-off-by: default avatarTrilok Soni <tsoni@codeaurora.org>
parent d7a51e2f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment