CVE-2026-80525

ASoC: SOF: ipc4-topology: Refresh copier IPC payload before widget setup

N/A
Published: August 26, 2026 at 02:37 PM UTC
Updated: August 26, 2026 at 03:17 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc4-topology: Refresh copier IPC payload before widget setup The ipc_config_data buffer for copier widgets is built once during ipc_prepare (called from sof_pcm_setup_connected_widgets) and cached for reuse. For host copiers this buffer contains the copier_data with gtw_cfg.node_id (host DMA ID). For DAI copiers it additionally includes a dma_config_tlv trailer with stream_id and dma_channel_id for HDA link DMA. On suspend/resume, both host and link DMA streams are released and re-allocated with potentially different stream tags. The underlying copier_data and dma_config_tlv structures are correctly updated by host_config and sdw_hda_dai_hw_params respectively. However, since the widget list (spcm->stream[].list) persists across suspend, sof_pcm_hw_params skips sof_pcm_setup_connected_widgets and ipc_prepare never runs again to rebuild ipc_config_data. The stale cached payload is then sent to firmware with boot-time DMA channel assignments, causing DMA channel conflicts that lead to firmware errors and crashes. Fix this by refreshing copier_data and dma_config_tlv portions of ipc_config_data in sof_ipc4_widget_setup right before the IPC message is sent. This ensures the payload always reflects the current DMA state regardless of whether ipc_prepare ran. For DAI copiers, the gtw_cfg.config_length in copier_data is temporarily inflated to include the TLV size (matching the ipc_config_data layout) before copying, then restored, mirroring what sof_ipc4_prepare_copier_module does when first building the buffer.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.10 ≤ v < 6.12.1056.10 ≤ v < 6.18.466.10 ≤ v < 7.1.106.10 ≤ v < 7.26.10e9c6b118de1afc1d32a4eb3bc9f3d114d4fe0f1a
Vendor states this is fixed in 0c0e418dbcf0582bf80d8dbfd9b306607c065992 (fixed)
Vendor states this is fixed in 2a7d8fc0fd50e7a2020989d9840cabb74c0282e3 (fixed)
Vendor states this is fixed in 574498e56024082a0da68474ad4526d250732411 (fixed)
Vendor states this is fixed in decb87e76716d11d846c9c055e309c8ff90d7656 (fixed)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.12.105 (unaffected)
Vendor states this is fixed in 6.18.46 (unaffected)
Vendor states this is fixed in 7.1.10 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card