Skip to content
OpenAdvisories
Unscored CVE-2024-38600 EUVD-2024-37463GHSA-3h59-8483-h44f

ALSA: Fix deadlocks with kctl removals at disconnection

Published Jun 19, 2024 · Updated May 11, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

ALSA: Fix deadlocks with kctl removals at disconnection

In snd_card_disconnect(), we set card->shutdown flag at the beginning,
call callbacks and do sync for card->power_ref_sleep waiters at the
end. The callback may delete a kctl element, and this can lead to a
deadlock when the device was in the suspended state. Namely:

* A process waits for the power up at snd_power_ref_and_wait() in
snd_ctl_info() or read/write() inside card->controls_rwsem.

* The system gets disconnected meanwhile, and the driver tries to
delete a kctl via snd_ctl_remove*(); it tries to take
card->controls_rwsem again, but this is already locked by the
above. Since the sleeper isn't woken up, this deadlocks.

An easy fix is to wake up sleepers before processing the driver
disconnect callbacks but right after setting the card->shutdown flag.
Then all sleepers will abort immediately, and the code flows again.

So, basically this patch moves the wait_event() call at the right
timing. While we're at it, just to be sure, call wait_event_all()
instead of wait_event(), although we don't use exclusive events on
this queue for now.

Affected products

VendorProductAffectedFixed
Linux Linux 5.14 5.15.161

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.8.12-1 —
Debian 13 linux 6.8.12-1 —
Debian 12 linux 6.1.94-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1050.52 —
Ubuntu 24.04 LTS linux 6.8.0-40.40 USN-6949-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1013.14 USN-6949-1
Ubuntu 24.04 LTS linux-azure 6.8.0-1012.14 USN-6952-2
Ubuntu 24.04 LTS linux-gcp 6.8.0-1012.13 USN-6949-1
Ubuntu 24.04 LTS linux-gke 6.8.0-1008.11 USN-6949-1
Ubuntu 24.04 LTS linux-ibm +2 6.8.0-1010.10 USN-6955-1, USN-6952-1, USN-6949-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1011.11 USN-6949-1
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1011.11.1 USN-6952-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1009.10 USN-6949-2
Ubuntu 24.04 LTS linux-riscv +1 6.8.0-40.40.1 USN-6949-2
Ubuntu 22.04 LTS linux +1 5.15.0-118.128 USN-6950-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1067.73 USN-6950-1
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1013.14~22.04.1 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1070.79 USN-6956-1
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1012.14~22.04.1 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1070.79.1 USN-6956-1
Ubuntu 22.04 LTS linux-gcp 5.15.0-1066.74 USN-6950-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1012.13~22.04.1 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1064.70 USN-6950-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1050.57 USN-6950-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-40.40~22.04.3 —
Ubuntu 22.04 LTS linux-ibm +1 5.15.0-1060.63 USN-6950-2
Ubuntu 22.04 LTS linux-ibm-6.8 +1 6.8.0-1010.10~22.04.1 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1062.68 USN-6950-1
Ubuntu 22.04 LTS linux-kvm 5.15.0-1064.69 USN-6950-1
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1062.63 USN-6950-1
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1011.11~22.04.1 USN-6949-1
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1027.27 —
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1015.15 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1065.71 USN-6950-3
Ubuntu 22.04 LTS linux-riscv +31 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 +1 6.8.0-40.40.1~22.04.1 —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1035.39 USN-7019-1
Ubuntu 20.04 LTS linux 5.4.0-192.212 USN-6951-1
Ubuntu 20.04 LTS linux-aws 5.4.0-1130.140 USN-6951-1
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1067.73~20.04.1 USN-6950-2
Ubuntu 20.04 LTS linux-azure 5.4.0-1135.142 USN-6951-2
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1070.79~20.04.1 USN-6956-1
Ubuntu 20.04 LTS linux-azure-fde-5.15 5.15.0-1070.79~20.04.1.1 USN-6956-1
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1090.97 USN-6951-4
Ubuntu 20.04 LTS linux-gcp 5.4.0-1134.143 USN-6951-1
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1066.74~20.04.1 USN-6950-1
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 20.04 LTS linux-gkeop 5.4.0-1097.101 USN-6951-1
Ubuntu 20.04 LTS linux-gkeop-5.15 5.15.0-1050.57~20.04.1 USN-6950-2
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-118.128~20.04.1 USN-6950-4, USN-6950-1
Ubuntu 20.04 LTS linux-ibm 5.4.0-1077.82 USN-6951-1
Ubuntu 20.04 LTS linux-ibm-5.15 5.15.0-1060.63~20.04.1 USN-6950-2
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1062.68~20.04.1 USN-6950-1
Ubuntu 20.04 LTS linux-iot 5.4.0-1042.43 USN-6951-1
Ubuntu 20.04 LTS linux-kvm 5.4.0-1118.125 USN-6951-1
Ubuntu 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1027.27~20.04.1 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1129.138 USN-6953-1
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1065.71~20.04.1 USN-6957-1
Ubuntu 20.04 LTS linux-raspi 5.4.0-1114.126 USN-6951-1
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1063.67~20.04.1 —
Ubuntu 20.04 LTS linux-xilinx-zynqmp 5.4.0-1049.53 USN-6951-1
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2008.8 —
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1006.6 —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1060.62 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1068.76 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1006.6~22.04.1 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-78.78+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1067.73+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1070.79+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-118.128+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1066.74+fips1 —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 18.04 LTS linux-aws-5.4 5.4.0-1130.140~18.04.1 USN-6951-1
Ubuntu Pro 18.04 LTS linux-azure-5.4 5.4.0-1135.142~18.04.1 USN-6951-3
Ubuntu Pro 18.04 LTS linux-gcp-5.4 5.4.0-1134.143~18.04.1 USN-6951-1
Ubuntu Pro 18.04 LTS linux-hwe-5.4 5.4.0-192.212~18.04.1 USN-6951-1
Ubuntu Pro 18.04 LTS linux-ibm-5.4 5.4.0-1077.82~18.04.1 USN-6951-1
Ubuntu Pro 18.04 LTS linux-oracle-5.4 5.4.0-1129.138~18.04.1 USN-6953-1
Ubuntu Pro 18.04 LTS linux-raspi-5.4 5.4.0-1114.126~18.04.1 USN-6979-1
ReleasePackageFixed inAdvisory
RHEL 9 bpftool 7.4.0-503.11.1.el9_5 RHSA-2024:9315
RHEL 9 rv +67 5.14.0-503.11.1.el9_5 RHSA-2024:9315
ReleasePackageFixed inAdvisory
SLES 15 SP6 kernel-64kb 6.4.0-150600.23.14.1 SUSE-SU-2024:2571-1
SLES 15 SP6 kernel-azure +1 6.4.0-150600.8.8.2 SUSE-SU-2024:2896-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.14.2.150600.12.4.3 SUSE-SU-2024:2571-1
SLES 15 SP6 kernel-docs +5 6.4.0-150600.23.14.2 SUSE-SU-2024:2571-1
SLES 15 SP6 kernel-syms-azure 6.4.0-150600.8.8.1 SUSE-SU-2024:2896-1
SLES 15 SP5 kernel-64kb +5 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.60.1 SUSE-SU-2024:2372-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1
SLES 15 SP5 kernel-docs 5.14.21-150500.55.73.2 SUSE-SU-2024:2939-1
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLE Micro 6.0 kernel-default-base 6.4.0-17.1.1.51 SUSE-SU-2025:20008-1
SLE Micro 6.0 kernel-rt +1 6.4.0-9.1 SUSE-SU-2025:20028-1
SLE Micro 6.0 kernel-source +2 6.4.0-18.1 SUSE-SU-2025:20008-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.61.1 SUSE-SU-2024:2394-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.14.2 SUSE-SU-2024:2571-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_1 1-150600.1.5.1 SUSE-SU-2024:2973-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_2 1-150600.13.3.2 SUSE-SU-2024:2571-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_17 +1 1-150500.11.3.1 SUSE-SU-2024:2939-1, SUSE-SU-2024:2394-1
SUSE Real Time Module 15 SP6 kernel-rt +3 6.4.0-150600.10.5.1 SUSE-SU-2024:2973-1
SUSE Real Time Module 15 SP5 kernel-rt +3 5.14.21-150500.13.61.1 SUSE-SU-2024:2394-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 dtb-aarch64 +1 6.4.0-150600.23.14.1 SUSE-SU-2024:2571-1
openSUSE Leap 15.6 kernel-azure +1 6.4.0-150600.8.8.2 SUSE-SU-2024:2896-1
openSUSE Leap 15.6 kernel-default-base 6.4.0-150600.23.14.2.150600.12.4.3 SUSE-SU-2024:2571-1
openSUSE Leap 15.6 kernel-docs +8 6.4.0-150600.23.14.2 SUSE-SU-2024:2571-1
openSUSE Leap 15.6 kernel-rt +3 6.4.0-150600.10.5.1 SUSE-SU-2024:2973-1
openSUSE Leap 15.6 kernel-syms-azure 6.4.0-150600.8.8.1 SUSE-SU-2024:2896-1
openSUSE Leap 15.5 dtb-aarch64 +9 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.60.1 SUSE-SU-2024:2372-1
openSUSE Leap 15.5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1
openSUSE Leap 15.5 kernel-docs 5.14.21-150500.55.73.2 SUSE-SU-2024:2939-1
openSUSE Leap 15.5 kernel-rt +3 5.14.21-150500.13.61.1 SUSE-SU-2024:2394-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.5 kernel-default 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
openSUSE Leap Micro 5.5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 bpftool 7.4.0-503.11.1.el9_5 ELSA-2024-9315
Oracle Linux 9 rv +28 5.14.0-503.11.1.el9_5 ELSA-2024-9315

Advisories 29

References