Re: kmemleak findings about USB audio recording on 3.3.2

From: Alexander E. Patrakov
Date: Sun May 27 2012 - 07:19:11 EST


2012/5/18 Clemens Ladisch <clemens@xxxxxxxxxx>:
> Please try this patch.
>
> --8<---------------------------------------------------------------->8--
> ALSA: usb-audio: fix rate_list memory leak
>
> The array of sample rates is reallocated every time when opening
> the PCM device, but was freed only once when unplugging the device.
>
> Reported-by: "Alexander E. Patrakov" <patrakov@xxxxxxxxx>
> Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx>
> ---
> Âsound/usb/pcm.c | Â Â3 +++
> Â1 files changed, 3 insertions(+), 0 deletions(-)
>
> --- a/sound/usb/pcm.c
> +++ b/sound/usb/pcm.c
> @@ -783,6 +783,9 @@ static int snd_usb_pcm_check_knot(struct snd_pcm_runtime *runtime,
> Â Â Â Âint count = 0, needs_knot = 0;
> Â Â Â Âint err;
>
> + Â Â Â kfree(subs->rate_list.list);
> + Â Â Â subs->rate_list.list = NULL;
> +
> Â Â Â Âlist_for_each_entry(fp, &subs->fmt_list, list) {
> Â Â Â Â Â Â Â Âif (fp->rates & SNDRV_PCM_RATE_CONTINUOUS)
> Â Â Â Â Â Â Â Â Â Â Â Âreturn 0;

I have applied this on top of 3.4.0. So far, the microphone works, and
there are no leaks detected.

--
Alexander E. Patrakov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/