Go to file
Xiyu Yang 59e1947ca0 ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif
snd_microii_spdif_default_get() invokes snd_usb_lock_shutdown(), which
increases the refcount of the snd_usb_audio object "chip".

When snd_microii_spdif_default_get() returns, local variable "chip"
becomes invalid, so the refcount should be decreased to keep refcount
balanced.

The reference counting issue happens in several exception handling paths
of snd_microii_spdif_default_get(). When those error scenarios occur
such as usb_ifnum_to_if() returns NULL, the function forgets to decrease
the refcnt increased by snd_usb_lock_shutdown(), causing a refcnt leak.

Fix this issue by jumping to "end" label when those error scenarios
occur.

Fixes: 447d6275f0 ("ALSA: usb-audio: Add sanity checks for endpoint accesses")
Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/1587617711-13200-1-git-send-email-xiyuyang19@fudan.edu.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-04-23 09:10:05 +02:00
arch x86/mm: split vmalloc_sync_all() 2020-03-21 18:56:06 -07:00
block
certs
crypto
Documentation ASoC: Fixes for v5.7 2020-04-21 21:41:36 +02:00
drivers edd: Use scnprintf() for avoiding potential buffer overflow 2020-04-02 20:42:29 +02:00
fs for-5.6-rc6-tag 2020-03-22 11:35:33 -07:00
include ASoC: Fixes for v5.7 2020-04-21 21:41:36 +02:00
init
ipc
kernel x86/mm: split vmalloc_sync_all() 2020-03-21 18:56:06 -07:00
lib
LICENSES
mm x86/mm: split vmalloc_sync_all() 2020-03-21 18:56:06 -07:00
net io_uring-5.6-20200320 2020-03-21 11:54:47 -07:00
samples
scripts
security
sound ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif 2020-04-23 09:10:05 +02:00
tools tools/power turbostat: update version 2020-03-21 00:48:02 -04:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge branch 'asoc-5.6' into asoc-linus 2020-03-27 17:29:18 +00:00
Makefile Linux 5.6-rc7 2020-03-22 18:31:56 -07: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.