---
id: CVE-2023-53866
title: 'ASoC: soc-compress: Reposition and add pcm_mutex'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ASoC: soc-compress: Reposition and add pcm_mutex

  If panic_on_warn is set and compress stream(DPCM) is started,
  then kernel panic occurred because card->pcm_mutex isn't…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= b7898396f4bbe160f546d0c5e9fa17cca9a7d153 <
    9a9942cbdb7c3f41452f7bc4a9ff9f0b45eb3651
  - >-
    Linux >= b7898396f4bbe160f546d0c5e9fa17cca9a7d153 <
    37a3eb6054d17676ce2a0bb5dd1fbf7733ecfa7d
  - >-
    Linux >= b7898396f4bbe160f546d0c5e9fa17cca9a7d153 <
    aa9ff6a4955fdba02b54fbc4386db876603703b7
  - Linux 5.17
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:37:41.587294Z'
published: '2025-12-09'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T21:41:37.435Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2023-53866'
references:
  - url: 'https://git.kernel.org/stable/c/9a9942cbdb7c3f41452f7bc4a9ff9f0b45eb3651'
  - url: 'https://git.kernel.org/stable/c/37a3eb6054d17676ce2a0bb5dd1fbf7733ecfa7d'
  - url: 'https://git.kernel.org/stable/c/aa9ff6a4955fdba02b54fbc4386db876603703b7'
tags:
  - cve.org
epss: 0.0018
epssPercentile: 0.07107
ingestedAt: '2026-10-15T22:48:25.424Z'
---

## Overview

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

ASoC: soc-compress: Reposition and add pcm_mutex

If panic_on_warn is set and compress stream(DPCM) is started,
then kernel panic occurred because card->pcm_mutex isn't held appropriately.
In the following functions, warning were issued at this line
"snd_soc_dpcm_mutex_assert_held".

static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe,
		struct snd_soc_pcm_runtime *be, int stream)
{
	...
	snd_soc_dpcm_mutex_assert_held(fe);
	...
}

void dpcm_be_disconnect(struct snd_soc_pcm_runtime *fe, int stream)
{
	...
	snd_soc_dpcm_mutex_assert_held(fe);
	...
}

void snd_soc_runtime_action(struct snd_soc_pcm_runtime *rtd,
			    int stream, int action)
{
	...
	snd_soc_dpcm_mutex_assert_held(rtd);
	...
}

int dpcm_dapm_stream_event(struct snd_soc_pcm_runtime *fe, int dir,
	int event)
{
	...
	snd_soc_dpcm_mutex_assert_held(fe);
	...
}

These functions are called by soc_compr_set_params_fe, soc_compr_open_fe
and soc_compr_free_fe
without pcm_mutex locking. And this is call stack.

[  414.527841][ T2179] pc : dpcm_process_paths+0x5a4/0x750
[  414.527848][ T2179] lr : dpcm_process_paths+0x37c/0x750
[  414.527945][ T2179] Call trace:
[  414.527949][ T2179]  dpcm_process_paths+0x5a4/0x750
[  414.527955][ T2179]  soc_compr_open_fe+0xb0/0x2cc
[  414.527972][ T2179]  snd_compr_open+0x180/0x248
[  414.527981][ T2179]  snd_open+0x15c/0x194
[  414.528003][ T2179]  chrdev_open+0x1b0/0x220
[  414.528023][ T2179]  do_dentry_open+0x30c/0x594
[  414.528045][ T2179]  vfs_open+0x34/0x44
[  414.528053][ T2179]  path_openat+0x914/0xb08
[  414.528062][ T2179]  do_filp_open+0xc0/0x170
[  414.528068][ T2179]  do_sys_openat2+0x94/0x18c
[  414.528076][ T2179]  __arm64_sys_openat+0x78/0xa4
[  414.528084][ T2179]  invoke_syscall+0x48/0x10c
[  414.528094][ T2179]  el0_svc_common+0xbc/0x104
[  414.528099][ T2179]  do_el0_svc+0x34/0xd8
[  414.528103][ T2179]  el0_svc+0x34/0xc4
[  414.528125][ T2179]  el0t_64_sync_handler+0x8c/0xfc
[  414.528133][ T2179]  el0t_64_sync+0x1a0/0x1a4
[  414.528142][ T2179] Kernel panic - not syncing: panic_on_warn set ...

So, I reposition and add pcm_mutex to resolve lockdep error.

## Affected

- `Linux >= b7898396f4bbe160f546d0c5e9fa17cca9a7d153 < 9a9942cbdb7c3f41452f7bc4a9ff9f0b45eb3651`
- `Linux >= b7898396f4bbe160f546d0c5e9fa17cca9a7d153 < 37a3eb6054d17676ce2a0bb5dd1fbf7733ecfa7d`
- `Linux >= b7898396f4bbe160f546d0c5e9fa17cca9a7d153 < aa9ff6a4955fdba02b54fbc4386db876603703b7`
- `Linux 5.17`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
