CVE-2026-53350 PUBLISHED

ASoC: wm_adsp: Fix NULL dereference when removing firmware controls

Assigner: Linux
Reserved: 09.06.2026 Published: 01.07.2026 Updated: 01.07.2026

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

ASoC: wm_adsp: Fix NULL dereference when removing firmware controls

In wm_adsp_control_remove() check that the priv pointer is not NULL before attempting to cleanup what it points to.

When cs_dsp creates a control it calls wm_adsp_control_add_cb() so that wm_adsp can create its own private control data. There are two cases where private data is not created:

  1. The control is a SYSTEM control, so an ALSA control is not created.

  2. The codec driver has registered a control_add() callback that hides the control, so wm_adsp_control_add() is not called.

When cs_dsp_remove destroys its control list it calls wm_adsp_control_remove() for each control. But wm_adsp_control_remove() was attempting to cleanup the private data pointed to by cs_ctl->priv without checking the pointer for NULL.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 0700bc2fb94c28459f57a10d2ee2c7ef4cb70862 to 5ee9bbe2af2f373e08d3017f9aef2f2eaf29fbc3 (excl.)
  • affected from 0700bc2fb94c28459f57a10d2ee2c7ef4cb70862 to 10def23b67b42679d5b1a356e1a6f3498bd188c3 (excl.)
  • affected from 0700bc2fb94c28459f57a10d2ee2c7ef4cb70862 to 2f1be283aa777d655525d000d16474b7e7d015ea (excl.)
  • affected from 0700bc2fb94c28459f57a10d2ee2c7ef4cb70862 to 12e579b889624ec54a201d98fdff975de556c731 (excl.)
  • affected from 0700bc2fb94c28459f57a10d2ee2c7ef4cb70862 to 6effd6f7b0ba1f5d1df702b2ef7460bcc215e9b7 (excl.)
  • affected from 0700bc2fb94c28459f57a10d2ee2c7ef4cb70862 to 7d3fb78b550301e43fdc60312aed733069694426 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.16 is affected
  • unaffected from 0 to 5.16 (excl.)
  • unaffected from 6.1.176 to 6.1.* (incl.)
  • unaffected from 6.6.143 to 6.6.* (incl.)
  • unaffected from 6.12.94 to 6.12.* (incl.)
  • unaffected from 6.18.36 to 6.18.* (incl.)
  • unaffected from 7.0.13 to 7.0.* (incl.)
  • unaffected from 7.1 to * (incl.)

References