binder: defer copies of pre-patched txn data
BINDER_TYPE_PTR objects point to memory areas in the source process to be copied into the target buffer as part of a transaction. This implements a scatter- gather model where non-contiguous memory in a source process is "gathered" into a contiguous region in the target buffer. The data can include pointers that must be fixed up to correctly point to the copied data. To avoid making source process pointers visible to the target process, this patch defers the copy until the fixups are known and then copies and fixeups are done together. There is a special case of BINDER_TYPE_FDA which applies the fixup later in the target process context. In this case the user data is skipped (so no untranslated fds become visible to the target). Reviewed-by:Martijn Coenen <maco@android.com> Signed-off-by:
Todd Kjos <tkjos@google.com> Link: https://lore.kernel.org/r/20211130185152.437403-5-tkjos@google.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
mentioned in commit 5560c37e
-
mentioned in commit 1e91bb6c
-
mentioned in commit 02b5dfab
-
mentioned in commit 3d213a62
-
mentioned in commit b83173bf
-
mentioned in commit baa23246
-
mentioned in commit 82277d39
-
mentioned in commit bba81a12
-
mentioned in commit 09bea371
-
mentioned in commit fcd1d07c
-
mentioned in commit a594d2be
-
mentioned in commit 3f9db778
-
mentioned in commit b6e2498a
-
mentioned in commit 3ab2a16d
-
mentioned in commit 469c8d92
-
mentioned in commit 55929c83
-
mentioned in commit ecebcd2c
-
mentioned in commit 0663d42a
-
mentioned in commit 2257b501
-
mentioned in commit 2b7e856f
-
mentioned in commit 3f6c121c
-
mentioned in commit 84a124e2
-
mentioned in commit 0041c98d
-
mentioned in commit 43e84388
-
mentioned in commit 70bfd66c
-
mentioned in commit 1d344e00
-
mentioned in commit 3c278666
-
mentioned in commit 087ef8e8
-
mentioned in commit 5a08e9fc
-
mentioned in commit ca15c577
-
mentioned in commit d654c9d7
-
mentioned in commit 4946f150
-
mentioned in commit 61056d19
-
mentioned in commit 596e9834
-
mentioned in commit 5e572662
-
mentioned in commit 753f0728
-
mentioned in commit 8348e701
-
mentioned in commit 44ff7adf
-
mentioned in commit 6fc09e2e
-
mentioned in commit 6256b38f
-
mentioned in commit c9e5ebaf
-
mentioned in commit 8b752fff
-
mentioned in commit 162a7ef3
-
mentioned in commit 66b2ff7d
-
mentioned in commit 5f5659ed
-
mentioned in commit 23653a9d
-
mentioned in commit 6921d6a4
-
mentioned in commit b1cee68e
-
mentioned in commit 37390b7c
-
mentioned in commit 454c6649
-
mentioned in commit 9a744ad1
-
mentioned in commit b37d454d
-
mentioned in commit 95dd557b
-
mentioned in commit 89ae8ae4
-
mentioned in commit 645422a6
-
mentioned in commit ca500b5c
-
mentioned in commit 762bbfbd