Skip to content
Snippets Groups Projects
Commit 9ff86f0b authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Frieder Schrempf
Browse files

ASoC: SOF: stream-ipc: Check for cstream nullity in sof_ipc_msg_data()


commit d8d99c3b5c485f339864aeaa29f76269cc0ea975 upstream.

The nullity of sps->cstream should be checked similarly as it is done in
sof_set_stream_data_offset() function.
Assuming that it is not NULL if sps->stream is NULL is incorrect and can
lead to NULL pointer dereference.

Fixes: 090349a9 ("ASoC: SOF: Add support for compress API for stream data/offset")
Cc: stable@vger.kernel.org
Reported-by: default avatarCurtis Malainey <cujomalainey@chromium.org>
Closes: https://github.com/thesofproject/linux/pull/5214


Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: default avatarDaniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: default avatarCurtis Malainey <cujomalainey@chromium.org>
Link: https://patch.msgid.link/20250205135232.19762-2-peter.ujfalusi@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cffa92d2
No related branches found
No related tags found
1 merge request!192🤖 Sync Bot: Update v6.12-ktn to Latest Stable Kernel (v6.12.17)
...@@ -43,7 +43,7 @@ int sof_ipc_msg_data(struct snd_sof_dev *sdev, ...@@ -43,7 +43,7 @@ int sof_ipc_msg_data(struct snd_sof_dev *sdev,
return -ESTRPIPE; return -ESTRPIPE;
posn_offset = stream->posn_offset; posn_offset = stream->posn_offset;
} else { } else if (sps->cstream) {
struct sof_compr_stream *sstream = sps->cstream->runtime->private_data; struct sof_compr_stream *sstream = sps->cstream->runtime->private_data;
...@@ -51,6 +51,10 @@ int sof_ipc_msg_data(struct snd_sof_dev *sdev, ...@@ -51,6 +51,10 @@ int sof_ipc_msg_data(struct snd_sof_dev *sdev,
return -ESTRPIPE; return -ESTRPIPE;
posn_offset = sstream->posn_offset; posn_offset = sstream->posn_offset;
} else {
dev_err(sdev->dev, "%s: No stream opened\n", __func__);
return -EINVAL;
} }
snd_sof_dsp_mailbox_read(sdev, posn_offset, p, sz); snd_sof_dsp_mailbox_read(sdev, posn_offset, p, sz);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment