No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Thomas Hebb 1a202b9b9d ASoC: dapm: remove widget from dirty list on free
commit 5c6679b5cb120f07652418524ab186ac47680b49 upstream.

A widget's "dirty" list_head, much like its "list" list_head, eventually
chains back to a list_head on the snd_soc_card itself. This means that
the list can stick around even after the widget (or all widgets) have
been freed. Currently, however, widgets that are in the dirty list when
freed remain there, corrupting the entire list and leading to memory
errors and undefined behavior when the list is next accessed or
modified.

I encountered this issue when a component failed to probe relatively
late in snd_soc_bind_card(), causing it to bail out and call
soc_cleanup_card_resources(), which eventually called
snd_soc_dapm_free() with widgets that were still dirty from when they'd
been added.

Fixes: db432b414e ("ASoC: Do DAPM power checks only for widgets changed since last run")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/f8b5f031d50122bf1a9bfc9cae046badf4a7a31a.1607822410.git.tommyhebb@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-19 18:26:11 +01:00
arch KVM: arm64: Don't access PMCR_EL0 when no PMU is available 2021-01-17 14:05:38 +01:00
block block: fix use-after-free in disk_part_iter_next 2021-01-17 14:05:38 +01:00
certs
crypto crypto: asym_tpm: correct zero out potential secrets 2021-01-12 20:16:17 +01:00
Documentation
drivers regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() 2021-01-17 14:05:38 +01:00
fs btrfs: prevent NULL pointer dereference in extent_io_tree_panic 2021-01-19 18:26:11 +01:00
include vmlinux.lds.h: Add PGO and AutoFDO input sections 2021-01-17 14:05:34 +01:00
init exec: Transform exec_update_mutex into a rw_semaphore 2021-01-09 13:44:55 +01:00
ipc
kernel workqueue: Kick a worker based on the actual activation of delayed works 2021-01-12 20:16:09 +01:00
lib lib/genalloc: fix the overflow when size is too big 2021-01-12 20:16:10 +01:00
LICENSES
mm
net net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet 2021-01-17 14:05:38 +01:00
samples
scripts depmod: handle the case of /sbin/depmod without /sbin in PATH 2021-01-12 20:16:10 +01:00
security
sound ASoC: dapm: remove widget from dirty list on free 2021-01-19 18:26:11 +01:00
tools bpftool: Fix compilation failure for net.o with older glibc 2021-01-17 14:05:37 +01:00
usr
virt kvm: check tlbs_dirty directly 2021-01-12 20:16:22 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile kbuild: enforce -Werror=return-type 2021-01-19 18:26:11 +01: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.