Linux kernel source tree
Go to file
Takashi Iwai f4e1c1016c ALSA: usb-audio: Fix OOB access of mixer element list
commit 220345e98f upstream.

The USB-audio mixer code holds a linked list of usb_mixer_elem_list,
and several operations are performed for each mixer element.  A few of
them (snd_usb_mixer_notify_id() and snd_usb_mixer_interrupt_v2())
assume each mixer element being a usb_mixer_elem_info object that is a
subclass of usb_mixer_elem_list, cast via container_of() and access it
members.  This may result in an out-of-bound access when a
non-standard list element has been added, as spotted by syzkaller
recently.

This patch adds a new field, is_std_info, in usb_mixer_elem_list to
indicate that the element is the usb_mixer_elem_info type or not, and
skip the access to such an element if needed.

Reported-by: syzbot+fb14314433463ad51625@syzkaller.appspotmail.com
Reported-by: syzbot+2405ca3401e943c538b5@syzkaller.appspotmail.com
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200624122340.9615-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-30 23:17:08 -04:00
arch fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()" 2020-06-30 23:17:02 -04:00
block block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed 2020-06-30 23:17:00 -04:00
certs export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR() 2018-08-22 23:21:44 +09:00
crypto crypto: algboss - don't wait during notifier callback 2020-06-25 15:33:09 +02:00
Documentation mtd: rawnand: Pass a nand_chip object to nand_release() 2020-06-25 15:33:08 +02:00
drivers usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs 2020-06-30 23:17:08 -04:00
firmware Fix built-in early-load Intel microcode alignment 2020-01-23 08:21:29 +01:00
fs fanotify: fix ignore mask logic for events on child and on dir 2020-06-30 23:17:00 -04:00
include net: core: reduce recursion limit value 2020-06-30 23:17:07 -04:00
init x86: Fix early boot crash on gcc-10, third try 2020-05-20 08:18:49 +02:00
ipc ipc/util.c: sysvipc_find_ipc() incorrectly updates position index 2020-05-20 08:18:40 +02:00
kernel kretprobe: Prevent triggering kretprobe from within kprobe_flush_task 2020-06-25 15:33:10 +02:00
lib lib/zlib: remove outdated and incorrect pre-increment optimization 2020-06-25 15:33:02 +02:00
LICENSES LICENSES: Remove CC-BY-SA-4.0 license text 2018-10-18 11:28:50 +02:00
mm mm: initialize deferred pages with interrupts enabled 2020-06-22 09:05:21 +02:00
net net: Do not clear the sock TX queue in sk_set_socket() 2020-06-30 23:17:06 -04:00
samples samples: bpf: Fix build error 2020-06-03 08:19:31 +02:00
scripts mksysmap: Fix the mismatch of '.L' symbols in System.map 2020-06-25 15:32:51 +02:00
security apparmor: don't try to replace stale label in ptraceme check 2020-06-30 23:17:03 -04:00
sound ALSA: usb-audio: Fix OOB access of mixer element list 2020-06-30 23:17:08 -04:00
tools perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events() 2020-06-25 15:33:05 +02:00
usr initramfs: restore default compression behavior 2020-04-13 10:44:59 +02:00
virt KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception 2020-06-22 09:05:09 +02:00
.clang-format clang-format: Set IndentWrappedFunctionNames false 2018-08-01 18:38:51 +02:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore Kbuild updates for v4.17 (2nd) 2018-04-15 17:21:30 -07:00
.mailmap libnvdimm-for-4.19_misc 2018-08-25 18:13:10 -07:00
COPYING COPYING: use the new text with points to the license files 2018-03-23 12:41:45 -06:00
CREDITS 9p: remove Ron Minnich from MAINTAINERS 2018-08-17 16:20:26 -07:00
Kbuild Kbuild updates for v4.15 2017-11-17 17:45:29 -08:00
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt 2018-08-02 08:06:55 +09:00
MAINTAINERS MAINTAINERS: Update drm/i915 bug filing URL 2020-02-28 16:38:49 +01:00
Makefile Linux 4.19.130 2020-06-25 15:33:11 +02:00
README Docs: Added a pointer to the formatted docs to README 2018-03-21 09:02:53 -06:00

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.
See Documentation/00-INDEX for a list of what is contained in each file.

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.