[alsa-devel] kmemleak findings about USB audio recording on 3.3.2

Alexander E. Patrakov patrakov at gmail.com
Sun May 27 13:18:38 CEST 2012


2012/5/18 Clemens Ladisch <clemens at ladisch.de>:
> 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 at gmail.com>
> Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
> ---
>  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


More information about the Alsa-devel mailing list