[PATCH 1/2] ASoC: SOF: Prevent NULL dereference in sof_pcm_dai_link_fixup()
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Mar 18 15:42:51 CET 2022
On 3/18/22 02:12, Dan Carpenter wrote:
> The "dia" pointer can be NULL, so handle that condition first before
> storing "dia->private".
>
> Fixes: 839e484f9e17 ("ASoC: SOF: make struct snd_sof_dai IPC agnostic")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Thanks for the patch.
This part will be removed in follow-up patches, likely the reason why
this problem was missed.
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> ---
> sound/soc/sof/pcm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
> index 1661b0bc6f12..71f5bce0c4c7 100644
> --- a/sound/soc/sof/pcm.c
> +++ b/sound/soc/sof/pcm.c
> @@ -702,7 +702,7 @@ int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hw_pa
> struct snd_sof_dai *dai =
> snd_sof_find_dai(component, (char *)rtd->dai_link->name);
> struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
> - struct sof_dai_private_data *private = dai->private;
> + struct sof_dai_private_data *private;
> struct snd_soc_dpcm *dpcm;
>
> /* no topology exists for this BE, try a common configuration */
> @@ -727,6 +727,7 @@ int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd, struct snd_pcm_hw_pa
> /* read format from topology */
> snd_mask_none(fmt);
>
> + private = dai->private;
> switch (private->comp_dai->config.frame_fmt) {
> case SOF_IPC_FRAME_S16_LE:
> snd_mask_set_format(fmt, SNDRV_PCM_FORMAT_S16_LE);
More information about the Alsa-devel
mailing list