Martijn Coenen
edaed8a883
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: Martijn Coenen <maco@google.com >
Git-commit: 34b8f97791
Git-repo: https://git.linaro.org/kernel/linux-linaro-stable
[tsoni@codeaurora.org: Fixed 32 bit compilation]
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2017-02-02 09:30:50 -08:00
..
2017-02-02 09:30:50 -08:00
2015-10-13 17:42:34 +02:00
2016-09-20 21:29:27 +05:30
2015-06-23 02:40:03 +02:00
2015-09-23 20:23:25 +01:00
2016-09-15 09:10:24 -07:00
2016-05-31 15:27:21 -07:00
2016-03-22 11:09:48 -07:00
2015-06-23 14:08:54 -07:00
2015-08-26 20:32:35 +02:00
2016-11-07 16:23:44 +05:30
2015-04-21 16:16:02 -04:00
2015-11-01 13:48:26 +11:00
2015-03-20 19:10:44 -04:00
2016-12-16 13:52:17 -08:00
2015-04-02 18:10:35 -03:00
2016-03-23 21:10:42 -07:00
2016-03-22 11:04:51 -07:00
2015-10-05 03:16:46 -07:00
2015-09-08 13:34:59 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 21:16:24 -07:00
2015-09-29 13:37:04 -07:00
2015-11-02 22:48:39 -05:00
2015-10-26 19:38:30 -07:00
2015-05-06 08:03:19 +02:00
2016-06-01 15:45:21 -06:00
2015-06-22 15:49:27 +08:00
2015-06-23 07:00:41 -07:00
2015-08-25 14:41:50 -05:00
2015-10-31 19:05:59 -04:00
2015-09-10 06:54:15 +02:00
2016-03-22 11:10:20 -07:00
2016-03-22 11:16:34 -07:00
2015-07-17 19:59:04 -07:00
2015-03-25 15:07:05 +11:00
2016-02-16 13:51:37 -08:00
2015-04-16 14:08:49 -04:00
2016-03-23 19:57:25 -07:00
2015-04-12 21:25:13 -04:00
2016-02-16 13:54:19 -08:00
2016-10-28 10:48:35 -07:00
2015-07-23 17:48:43 -07:00
2016-10-25 10:00:15 -07:00
2016-03-23 20:58:02 -07:00
2016-09-15 08:27:40 +02:00
2015-10-23 23:26:43 +02:00
2015-06-01 08:07:08 +09:00
2015-03-23 22:12:09 -04:00
2015-09-23 08:44:22 +02:00
2016-03-22 11:05:59 -07:00
2015-09-29 13:36:06 -07:00
2016-03-22 11:04:54 -07:00
2015-10-30 12:10:51 +09:00
2015-08-17 14:22:48 -07:00
2016-02-16 13:51:20 -08:00
2016-02-16 13:51:20 -08:00
2016-02-16 13:51:18 -08:00
2015-06-01 15:48:56 +02:00
2015-08-10 14:03:54 -07:00
2016-08-26 14:34:05 -07:00
2015-08-17 21:33:06 -07:00
2015-06-29 18:56:21 -07:00
2015-06-24 02:51:39 -07:00
2016-03-23 20:09:53 -07:00
2016-03-22 11:10:53 -07:00
2016-03-22 11:04:51 -07:00
2016-03-22 11:07:51 -07:00
2015-08-21 09:10:11 -07:00
2015-06-24 02:15:54 -07:00
2016-09-16 17:21:59 -07:00
2015-05-25 13:25:35 -04:00
2016-03-22 11:09:54 -07:00
2016-12-02 09:02:16 -08:00
2015-09-10 13:29:01 -07:00
2015-02-17 14:34:51 -08:00
2016-02-16 13:50:57 -08:00
2015-06-03 11:32:07 +03:00
2015-10-01 15:06:31 +02:00
2016-08-26 14:34:05 -07:00
2015-10-29 16:21:42 +09:00
2015-09-23 11:01:16 -06:00
2015-09-24 14:31:37 -07:00
2016-04-07 16:50:01 +05:30
2016-03-23 20:51:34 -07:00
2016-03-23 20:45:57 -07:00
2015-04-21 09:44:55 -03:00
2015-02-26 08:40:10 -03:00
2015-08-03 17:30:00 -07:00
2015-09-11 15:21:34 -07:00
2015-02-12 18:54:08 -08:00
2016-04-13 11:12:20 -07:00
2015-10-04 12:54:54 +01:00
2015-07-21 10:39:05 -07:00
2015-08-03 22:35:00 -07:00
2015-01-20 13:51:06 +01:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2017-01-11 18:56:31 -08:00
2016-11-24 21:07:50 +05:30
2016-11-24 21:07:23 +05:30
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-23 20:11:25 -07:00
2016-03-22 11:08:56 -07:00
2016-03-22 11:07:51 -07:00
2016-08-23 10:36:09 -07:00
2016-03-22 11:07:59 -07:00
2016-12-07 10:33:16 -08:00
2017-01-23 22:11:26 -05:00
2016-12-28 21:56:21 +05:30
2016-03-23 21:24:03 -07:00
2016-03-22 11:05:51 -07:00
2016-03-23 20:38:58 -07:00
2016-03-22 11:08:34 -07:00
2016-09-30 16:27:31 -07:00
2016-03-23 21:22:38 -07:00
2016-03-22 11:07:18 -07:00
2015-05-05 13:40:44 -06:00
2015-07-27 22:53:19 -04:00
2015-08-10 13:46:21 -07:00
2016-03-22 11:09:37 -07:00
2015-01-19 14:21:18 -05:00
2015-02-02 18:46:51 -08:00
2015-07-08 23:34:53 -07:00
2015-06-18 21:14:31 +02:00
2016-03-22 11:09:38 -07:00
2015-10-27 03:55:10 +01:00
2015-08-27 19:44:53 -04:00
2015-04-23 15:16:14 -04:00
2015-11-23 21:53:08 -05:00
2015-07-20 14:58:46 -04:00
2017-01-26 22:18:54 -08:00
2015-10-09 10:40:37 -06:00
2016-03-23 21:24:25 -07:00
2015-12-14 14:00:09 -05:00
2015-10-29 17:35:40 -05:00
2016-10-28 10:48:35 -07:00
2015-09-17 21:09:07 -07:00
2016-03-22 11:05:53 -07:00
2015-10-21 14:46:56 -06:00
2016-02-16 13:54:13 -08:00
2015-10-02 14:35:17 +01:00
2015-10-27 19:55:13 -07:00
2016-10-26 10:43:09 +03:00
2016-03-23 19:57:25 -07:00
2016-03-23 19:57:25 -07:00
2016-03-23 20:58:34 -07:00
2016-03-23 21:13:51 -07:00
2015-03-18 21:55:08 +01:00
2015-05-31 21:47:23 -07:00
2016-03-22 11:05:44 -07:00
2016-09-16 17:21:59 -07:00
2016-08-18 18:56:03 +05:30
2015-10-04 12:54:54 +01:00
2015-10-12 14:20:06 +01:00
2015-09-04 16:54:41 -07:00
2016-03-23 19:58:14 -07:00
2016-03-23 19:58:14 -07:00
2015-06-10 17:34:26 -07:00
2015-05-20 09:01:20 -07:00
2015-03-07 03:39:55 +01:00
2016-08-20 19:04:33 -07:00
2015-07-21 22:36:33 -07:00
2016-04-07 16:49:53 +05:30
2016-03-22 11:09:38 -07:00
2016-05-19 12:32:41 +05:30
2016-04-22 11:57:49 -07:00
2015-10-04 20:28:58 +01:00
2016-03-22 11:04:51 -07:00
2016-03-22 11:04:51 -07:00
2016-06-21 15:13:20 -07:00
2015-09-11 00:32:36 -07:00
2016-03-23 21:25:31 -07:00
2016-03-22 11:08:58 -07:00
2015-02-09 13:20:47 -08:00
2015-03-05 22:08:42 -05:00
2015-07-24 14:15:10 -07:00
2015-05-24 12:49:16 -07:00
2015-06-11 23:37:37 +02:00
2015-01-11 16:27:25 -08:00
2015-01-31 09:05:06 -08:00
2015-10-01 21:42:35 -04:00
2015-10-27 18:55:31 -07:00
2016-11-08 05:42:34 -08:00
2016-08-26 14:34:05 -07:00
2015-06-05 11:45:45 -03:00
2015-03-23 11:44:35 -07:00
2015-12-04 08:38:42 -07:00
2015-06-01 15:48:55 +02:00
2016-12-16 13:52:17 -08:00
2015-06-01 15:46:54 +02:00
2015-03-10 11:48:29 +10:30
2015-02-11 15:03:16 +10:30
2015-10-16 10:44:02 +02:00
2015-06-03 14:17:38 +02:00
2015-03-29 12:13:52 +10:30
2015-07-01 10:11:17 +02:00
2015-07-07 14:27:05 +03:00
2015-07-07 14:27:04 +03:00
2015-03-13 15:55:43 +10:30
2015-07-06 08:25:50 -03:00
2015-03-31 13:58:35 -04:00
2015-04-03 01:04:18 -03:00