From 2782a5cba28446464f8a78c73ffc83d9ddd53577 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Wed, 8 Jul 2026 08:48:24 +0200 Subject: [PATCH] chain-dma: fix potential NULL dereference It has been reported that upon resume certain userspace software tries to use chain DMA without proper initialisation. Prevent DSP exceptions by checking for such cases. Link: https://github.com/thesofproject/sof/issues/10955 Signed-off-by: Guennadi Liakhovetski --- src/audio/chain_dma.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/audio/chain_dma.c b/src/audio/chain_dma.c index 257dead39b52..e7207e636ee8 100644 --- a/src/audio/chain_dma.c +++ b/src/audio/chain_dma.c @@ -79,6 +79,12 @@ static int chain_host_start(struct comp_dev *dev) struct chain_dma_data *cd = comp_get_drvdata(dev); int err; + if (!cd->chan_host || !cd->chan_host->dma) { + comp_err(dev, "incomplete initialization detected, aborting host %p", + cd->chan_host); + return -ENODEV; + } + err = dma_start(cd->chan_host->dma->z_dev, cd->chan_host->index); if (err < 0) return err;