On Sat, Mar 22, 2014 at 11:44:38AM +0100, Jiri Slaby wrote: > From: Patrick Lai <plai@xxxxxxxxxxxxxx> > > 3.12-stable review patch. If anyone has any objections, please let me know. > Looks like this patch should be dropped from all the stable trees (please see 3.13 and 3.10 stable reviews). Cheers, -- Luís > =============== > > commit e4ad1accb28d0ed8cea6f12395d58686ad344ca7 upstream. > > dpcm_path_get() allocates dynamic memory to hold path list. > Corresponding dpcm_path_put() must be called to free the memory. > dpcm_path_put() is not called under several error conditions. > This leads to memory leak. > > Signed-off-by: Patrick Lai <plai@xxxxxxxxxxxxxx> > Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> > Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> > --- > sound/soc/soc-pcm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c > index 330c9a6b5cb5..5c1cb9f2c4ed 100644 > --- a/sound/soc/soc-pcm.c > +++ b/sound/soc/soc-pcm.c > @@ -1860,6 +1860,7 @@ int soc_dpcm_runtime_update(struct snd_soc_card *card) > > paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_PLAYBACK, &list); > if (paths < 0) { > + dpcm_path_put(&list); > dev_warn(fe->dev, "ASoC: %s no valid %s path\n", > fe->dai_link->name, "playback"); > mutex_unlock(&card->mutex); > @@ -1889,6 +1890,7 @@ capture: > > paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_CAPTURE, &list); > if (paths < 0) { > + dpcm_path_put(&list); > dev_warn(fe->dev, "ASoC: %s no valid %s path\n", > fe->dai_link->name, "capture"); > mutex_unlock(&card->mutex); > @@ -1953,6 +1955,7 @@ static int dpcm_fe_dai_open(struct snd_pcm_substream *fe_substream) > fe->dpcm[stream].runtime = fe_substream->runtime; > > if (dpcm_path_get(fe, stream, &list) <= 0) { > + dpcm_path_put(&list); > dev_dbg(fe->dev, "ASoC: %s no valid %s route\n", > fe->dai_link->name, stream ? "capture" : "playback"); > } > -- > 1.9.0 > > -- > To unsubscribe from this list: send the line "unsubscribe stable" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html