binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0
Some android userspace is sending BINDER_TYPE_FDA objects with num_fds=0. Like the previous patch, this is reproducible when playing a video. Before commit 09184ae9 BINDER_TYPE_FDA objects with num_fds=0 were 'correctly handled', as in no fixup was performed. After commit 09184ae9 we aggregate fixup and skip regions in binder_ptr_fixup structs and distinguish between the two by using the skip_size field: if it's 0, then it's a fixup, otherwise skip. When processing BINDER_TYPE_FDA objects with num_fds=0 we add a skip region of skip_size=0, and this causes issues because now binder_do_deferred_txn_copies will think this was a fixup region. To address that, return early from binder_translate_fd_array to avoid adding an empty skip region. Fixes: 09184ae9 ("binder: defer copies of pre-patched txn data") Acked-by:Todd Kjos <tkjos@google.com> Cc: stable <stable@kernel.org> Signed-off-by:
Alessandro Astone <ales.astone@gmail.com> Link: https://lore.kernel.org/r/20220415120015.52684-1-ales.astone@gmail.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading
-
mentioned in commit 02b5dfab
-
mentioned in commit baa23246
-
mentioned in commit 82277d39
-
mentioned in commit a594d2be
-
mentioned in commit 3ab2a16d
-
mentioned in commit ecebcd2c
-
mentioned in commit 2b7e856f
-
mentioned in commit 0041c98d
-
mentioned in commit 1d344e00
-
mentioned in commit 087ef8e8
-
mentioned in commit d654c9d7
-
mentioned in commit 753f0728
-
mentioned in commit 6fc09e2e
-
mentioned in commit c9e5ebaf
-
mentioned in commit 66b2ff7d
-
mentioned in commit b1cee68e
-
mentioned in commit 9a744ad1
-
mentioned in commit 89ae8ae4
-
mentioned in commit 645422a6
Please sign in to comment