CVE-2023-53866
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
09/12/2025
Last modified:
05/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ASoC: soc-compress: Reposition and add pcm_mutex<br />
<br />
If panic_on_warn is set and compress stream(DPCM) is started,<br />
then kernel panic occurred because card->pcm_mutex isn&#39;t held appropriately.<br />
In the following functions, warning were issued at this line<br />
"snd_soc_dpcm_mutex_assert_held".<br />
<br />
static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe,<br />
struct snd_soc_pcm_runtime *be, int stream)<br />
{<br />
...<br />
snd_soc_dpcm_mutex_assert_held(fe);<br />
...<br />
}<br />
<br />
void dpcm_be_disconnect(struct snd_soc_pcm_runtime *fe, int stream)<br />
{<br />
...<br />
snd_soc_dpcm_mutex_assert_held(fe);<br />
...<br />
}<br />
<br />
void snd_soc_runtime_action(struct snd_soc_pcm_runtime *rtd,<br />
int stream, int action)<br />
{<br />
...<br />
snd_soc_dpcm_mutex_assert_held(rtd);<br />
...<br />
}<br />
<br />
int dpcm_dapm_stream_event(struct snd_soc_pcm_runtime *fe, int dir,<br />
int event)<br />
{<br />
...<br />
snd_soc_dpcm_mutex_assert_held(fe);<br />
...<br />
}<br />
<br />
These functions are called by soc_compr_set_params_fe, soc_compr_open_fe<br />
and soc_compr_free_fe<br />
without pcm_mutex locking. And this is call stack.<br />
<br />
[ 414.527841][ T2179] pc : dpcm_process_paths+0x5a4/0x750<br />
[ 414.527848][ T2179] lr : dpcm_process_paths+0x37c/0x750<br />
[ 414.527945][ T2179] Call trace:<br />
[ 414.527949][ T2179] dpcm_process_paths+0x5a4/0x750<br />
[ 414.527955][ T2179] soc_compr_open_fe+0xb0/0x2cc<br />
[ 414.527972][ T2179] snd_compr_open+0x180/0x248<br />
[ 414.527981][ T2179] snd_open+0x15c/0x194<br />
[ 414.528003][ T2179] chrdev_open+0x1b0/0x220<br />
[ 414.528023][ T2179] do_dentry_open+0x30c/0x594<br />
[ 414.528045][ T2179] vfs_open+0x34/0x44<br />
[ 414.528053][ T2179] path_openat+0x914/0xb08<br />
[ 414.528062][ T2179] do_filp_open+0xc0/0x170<br />
[ 414.528068][ T2179] do_sys_openat2+0x94/0x18c<br />
[ 414.528076][ T2179] __arm64_sys_openat+0x78/0xa4<br />
[ 414.528084][ T2179] invoke_syscall+0x48/0x10c<br />
[ 414.528094][ T2179] el0_svc_common+0xbc/0x104<br />
[ 414.528099][ T2179] do_el0_svc+0x34/0xd8<br />
[ 414.528103][ T2179] el0_svc+0x34/0xc4<br />
[ 414.528125][ T2179] el0t_64_sync_handler+0x8c/0xfc<br />
[ 414.528133][ T2179] el0t_64_sync+0x1a0/0x1a4<br />
[ 414.528142][ T2179] Kernel panic - not syncing: panic_on_warn set ...<br />
<br />
So, I reposition and add pcm_mutex to resolve lockdep error.



