Re: [PATCH] ALSA: usb-audio: Use kmemdup rather than duplicating its implementation

From: Takashi Iwai
Date: Thu Nov 10 2011 - 13:53:35 EST


At Thu, 10 Nov 2011 19:38:43 +0100,
Thomas Meyer wrote:
>
> Use kmemdup rather than duplicating its implementation
>
> The semantic patch that makes this change is available
> in scripts/coccinelle/api/memdup.cocci.
>
> Signed-off-by: Thomas Meyer <thomas@xxxxxxxx>

Thanks, applied now.


Takashi

> ---
>
> diff -u -p a/sound/usb/quirks.c b/sound/usb/quirks.c
> --- a/sound/usb/quirks.c 2011-11-07 19:38:37.987378553 +0100
> +++ b/sound/usb/quirks.c 2011-11-08 11:06:23.015258350 +0100
> @@ -137,12 +137,12 @@ static int create_fixed_stream_quirk(str
> return -ENOMEM;
> }
> if (fp->nr_rates > 0) {
> - rate_table = kmalloc(sizeof(int) * fp->nr_rates, GFP_KERNEL);
> + rate_table = kmemdup(fp->rate_table,
> + sizeof(int) * fp->nr_rates, GFP_KERNEL);
> if (!rate_table) {
> kfree(fp);
> return -ENOMEM;
> }
> - memcpy(rate_table, fp->rate_table, sizeof(int) * fp->nr_rates);
> fp->rate_table = rate_table;
> }
>
> @@ -224,10 +224,9 @@ static int create_uaxx_quirk(struct snd_
> if (altsd->bNumEndpoints != 1)
> return -ENXIO;
>
> - fp = kmalloc(sizeof(*fp), GFP_KERNEL);
> + fp = kmemdup(&ua_format, sizeof(*fp), GFP_KERNEL);
> if (!fp)
> return -ENOMEM;
> - memcpy(fp, &ua_format, sizeof(*fp));
>
> fp->iface = altsd->bInterfaceNumber;
> fp->endpoint = get_endpoint(alts, 0)->bEndpointAddress;
> .
>
--
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/