Re: [PATCH] sound: atom: fix a missing check of snd_pcm_lib_malloc_pages

From: Takashi Iwai
Date: Tue Jan 01 2019 - 03:34:29 EST


On Wed, 26 Dec 2018 18:57:47 +0100,
Pierre-Louis Bossart wrote:
>
>
> On 12/25/18 8:29 PM, Kangjie Lu wrote:
> > snd_pcm_lib_malloc_pages() may fail, so let's check its status and
> > return its error code upstream.
>
> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>

This fixes a potential kernel Oops. Mark, please put Cc to stable
when applying.


thanks,

Takashi

>
>
> >
> > Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
> > ---
> > sound/soc/intel/atom/sst-mfld-platform-pcm.c | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/sound/soc/intel/atom/sst-mfld-platform-pcm.c b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
> > index afc559866095..91a2436ce952 100644
> > --- a/sound/soc/intel/atom/sst-mfld-platform-pcm.c
> > +++ b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
> > @@ -399,7 +399,13 @@ static int sst_media_hw_params(struct snd_pcm_substream *substream,
> > struct snd_pcm_hw_params *params,
> > struct snd_soc_dai *dai)
> > {
> > - snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params));
> > + int ret;
> > +
> > + ret =
> > + snd_pcm_lib_malloc_pages(substream,
> > + params_buffer_bytes(params));
> > + if (ret)
> > + return ret;
> > memset(substream->runtime->dma_area, 0, params_buffer_bytes(params));
> > return 0;
> > }
>