No description
Find a file
Alessandro Astone 62f8c07d84 binder: Address corner cases in deferred copy and fixup
commit 2d1746e3fd upstream.

When handling BINDER_TYPE_FDA object we are pushing a parent fixup
with a certain skip_size but no scatter-gather copy object, since
the copy is handled standalone.
If BINDER_TYPE_FDA is the last children the scatter-gather copy
loop will never stop to skip it, thus we are left with an item in
the parent fixup list. This will trigger the BUG_ON().

This is reproducible in android when playing a video.
We receive a transaction that looks like this:
    obj[0] BINDER_TYPE_PTR, parent
    obj[1] BINDER_TYPE_PTR, child
    obj[2] BINDER_TYPE_PTR, child
    obj[3] BINDER_TYPE_FDA, child

Fixes: 09184ae9b5 ("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-2-ales.astone@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-09 09:16:14 +02:00
arch arm64: dts: qcom: add IPA qcom,qmp property 2022-04-27 14:41:17 +02:00
block block/compat_ioctl: fix range check in BLKGETSIZE 2022-04-27 14:40:54 +02:00
certs certs: Fix build error when CONFIG_MODULE_SIG_KEY is empty 2022-01-23 00:08:44 +09:00
crypto crypto: xts - Add softdep on ecb 2022-04-08 13:58:36 +02:00
Documentation ext4, doc: fix incorrect h_reserved size 2022-04-27 14:41:16 +02:00
drivers binder: Address corner cases in deferred copy and fixup 2022-05-09 09:16:14 +02:00
fs kernfs: fix NULL dereferencing in kernfs_remove 2022-05-09 09:16:14 +02:00
include fs: fix acl translation 2022-04-27 14:41:14 +02:00
init init/main.c: return 1 from handled __setup() functions 2022-04-13 19:27:23 +02:00
ipc ipc/sem: do not sleep with a spin lock held 2022-02-04 09:25:05 -08:00
kernel perf/core: Fix perf_mmap fail when CONFIG_PERF_USE_VMALLOC enabled 2022-04-27 14:41:12 +02:00
lib XArray: Disallow sibling entries of nodes 2022-04-27 14:41:05 +02:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
mm mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove() 2022-04-27 14:41:11 +02:00
net openvswitch: fix OOB access in reserve_sfa_size() 2022-04-27 14:41:14 +02:00
samples samples/bpf, xdpsock: Fix race when running for fix duration of time 2022-04-08 13:58:18 +02:00
scripts gcc-plugins: latent_entropy: use /dev/urandom 2022-04-20 09:36:24 +02:00
security Fix incorrect type in assignment of ipv6 port for audit 2022-04-08 13:58:37 +02:00
sound ASoC: SOF: topology: cleanup dailinks on widget unload 2022-04-27 14:41:17 +02:00
tools perf report: Set PERF_SAMPLE_DATA_SRC bit for Arm SPE event 2022-04-27 14:41:13 +02:00
usr kbuild: remove include/linux/cyclades.h from header file check 2022-01-27 08:51:08 +01:00
virt KVM: avoid NULL pointer dereference in kvm_dirty_ring_push 2022-04-13 19:27:41 +02:00
.clang-format genirq/msi: Make interrupt allocation less convoluted 2021-12-16 22:22:20 +01:00
.cocciconfig
.get_maintainer.ignore
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore .gitignore: ignore only top-level modules.builtin 2021-05-02 00:43:35 +09:00
.mailmap MAINTAINERS: Update Jisheng's email address 2022-03-08 17:30:32 +01:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: replace a Microchip AT91 maintainer 2022-02-09 11:30:01 +01:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS net: dsa: realtek-smi: move to subdirectory 2022-04-08 13:58:12 +02:00
Makefile Linux 5.17.5 2022-04-27 14:41:17 +02:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.