kernel_samsung_a53x/sound
Qiu-ji Chen f51f379e06 ASoC: codecs: Fix atomicity violation in snd_soc_component_get_drvdata()
commit 1157733344651ca505e259d6554591ff156922fa upstream.

An atomicity violation occurs when the validity of the variables
da7219->clk_src and da7219->mclk_rate is being assessed. Since the entire
assessment is not protected by a lock, the da7219 variable might still be
in flux during the assessment, rendering this check invalid.

To fix this issue, we recommend adding a lock before the block
if ((da7219->clk_src == clk_id) && (da7219->mclk_rate == freq)) so that
the legitimacy check for da7219->clk_src and da7219->mclk_rate is
protected by the lock, ensuring the validity of the check.

This possible bug is found by an experimental static analysis tool
developed by our team. This tool analyzes the locking APIs
to extract function pairs that can be concurrently executed, and then
analyzes the instructions in the paired functions to identify possible
concurrency bugs including data races and atomicity violations.

Fixes: 6d817c0e9fd7 ("ASoC: codecs: Add da7219 codec driver")
Cc: stable@vger.kernel.org
Signed-off-by: Qiu-ji Chen <chenqiuji666@gmail.com>
Link: https://patch.msgid.link/20240930101216.23723-1-chenqiuji666@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-17 13:24:17 +01:00
..
ac97 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
aoa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atmel Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core Revert "ALSA: mixer_oss: Remove some incorrect kfree_const() usages" 2024-11-24 00:23:11 +01:00
drivers Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
firewire ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init() 2024-11-30 02:33:23 +01:00
hda Revert "ALSA: hda: Add input value sanity checks to HDMI channel map controls" 2024-11-24 00:23:43 +01:00
i2c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
isa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
oss/dmasound Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
parisc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci ALSA: hda/realtek: Update ALC256 depop procedure 2024-12-17 13:24:17 +01:00
pcmcia Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ppc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sh ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs 2024-11-19 09:22:42 +01:00
soc ASoC: codecs: Fix atomicity violation in snd_soc_component_get_drvdata() 2024-12-17 13:24:17 +01:00
sparc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
synth ALSA: emux: improve patch ioctl data validation 2024-11-19 14:19:32 +01:00
usb ALSA: usb-audio: Fix potential out-of-bound accesses for Extigy and Mbox devices 2024-12-17 13:24:17 +01:00
x86 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xen Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ac97_bus.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML 2024-11-30 02:33:27 +01:00
last.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sound_core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00