linux/sound
Richard Fitzgerald 7dd670db9a ALSA: hda: intel-dsp-config: Prevent SEGFAULT if ACPI_HANDLE() is NULL
Check in snd_intel_dsp_check_soundwire() that the pointer returned by
ACPI_HANDLE() is not NULL, before passing it on to other functions.

The original code assumed a non-NULL return, but if it was unexpectedly
NULL it would end up passed to acpi_walk_namespace() as the start
point, and would result in

[    3.219028] BUG: kernel NULL pointer dereference, address:
0000000000000018
[    3.219029] #PF: supervisor read access in kernel mode
[    3.219030] #PF: error_code(0x0000) - not-present page
[    3.219031] PGD 0 P4D 0
[    3.219032] Oops: Oops: 0000 [#1] SMP NOPTI
[    3.219035] CPU: 2 UID: 0 PID: 476 Comm: (udev-worker) Tainted: G S
AW   E       6.17.0-rc5-test #1 PREEMPT(voluntary)
[    3.219038] Tainted: [S]=CPU_OUT_OF_SPEC, [A]=OVERRIDDEN_ACPI_TABLE,
[W]=WARN, [E]=UNSIGNED_MODULE
[    3.219040] RIP: 0010:acpi_ns_walk_namespace+0xb5/0x480

This problem was triggered by a bugged DSDT that the kernel couldn't parse.
But it shouldn't be possible to SEGFAULT the kernel just because of some
bugs in ACPI.

Fixes: 0650857570 ("ALSA: hda: add autodetection for SoundWire")
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-09-17 18:19:04 +02:00
..
ac97
aoa
arm
atmel ALSA: atmel: Replace deprecated strcpy() with strscpy() 2025-05-22 20:35:56 +02:00
core ALSA: timer: fix ida_free call while not allocated 2025-08-21 09:12:24 +02:00
drivers ALSA: vx: Use safer strscpy() instead of strcpy() 2025-07-11 09:51:09 +02:00
firewire ALSA: firewire-motu: drop EPOLLOUT from poll return values as write is not supported 2025-08-30 09:32:45 +02:00
hda ALSA: hda: intel-dsp-config: Prevent SEGFAULT if ACPI_HANDLE() is NULL 2025-09-17 18:19:04 +02:00
i2c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
isa ALSA: wss: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:16 +02:00
mips ALSA: mips: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:16 +02:00
oss
parisc ALSA: parisc: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:16 +02:00
pci ALSA: azt3328: Put __maybe_unused for inline functions for gameport 2025-08-13 17:40:41 +02:00
pcmcia ALSA: vxpocket: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
ppc ALSA: ppc: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
sh ALSA: sh: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
soc ASoC: SOF: Intel: WCL: Add the sdw_process_wakeen op 2025-08-28 21:15:49 +02:00
sparc ALSA: sparc: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
spi ALSA: spi: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
synth ALSA: synth: Use safer strscpy() instead of strcpy() 2025-07-11 09:53:35 +02:00
usb ALSA: usb: qcom: Fix false-positive address space check 2025-09-17 15:10:58 +02:00
virtio ALSA: virtio: use snd_kcontrol_chip() 2025-05-08 11:53:34 +02:00
x86 ALSA: intel_hdmi: Fix off-by-one error in __hdmi_lpe_audio_probe() 2025-08-06 08:02:15 +02:00
xen
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c