Patchwork rt2x00: Use kcalloc instead of kzalloc to allocate array

login
register
mail settings
Submitter Thomas Meyer
Date Nov. 29, 2011, 9:08 p.m.
Message ID <1322600880.1534.325.camel@localhost.localdomain>
Download mbox | patch
Permalink /patch/129045/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Thomas Meyer - Nov. 29, 2011, 9:08 p.m.
The advantage of kcalloc is, that will prevent integer overflows which could
result from the multiplication of number of elements and size and it is also
a bit nicer to read.

The semantic patch that makes this change is available
in https://lkml.org/lkml/2011/11/25/107

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
---

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Gertjan van Wingerde - Dec. 3, 2011, 9:20 a.m.
On 29 nov. 2011, at 22:08, Thomas Meyer <thomas@m3y3r.de> wrote:

> The advantage of kcalloc is, that will prevent integer overflows which could
> result from the multiplication of number of elements and size and it is also
> a bit nicer to read.
> 
> The semantic patch that makes this change is available
> in https://lkml.org/lkml/2011/11/25/107
> 
> Signed-off-by: Thomas Meyer <thomas@m3y3r.de>

Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>

> ---
> 
> diff -u -p a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
> --- a/drivers/net/wireless/rt2x00/rt2x00dev.c 2011-11-28 19:36:47.770108588 +0100
> +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c 2011-11-28 19:54:53.495525543 +0100
> @@ -831,11 +831,11 @@ static int rt2x00lib_probe_hw_modes(stru
>    if (spec->supported_rates & SUPPORT_RATE_OFDM)
>        num_rates += 8;
> 
> -    channels = kzalloc(sizeof(*channels) * spec->num_channels, GFP_KERNEL);
> +    channels = kcalloc(spec->num_channels, sizeof(*channels), GFP_KERNEL);
>    if (!channels)
>        return -ENOMEM;
> 
> -    rates = kzalloc(sizeof(*rates) * num_rates, GFP_KERNEL);
> +    rates = kcalloc(num_rates, sizeof(*rates), GFP_KERNEL);
>    if (!rates)
>        goto exit_free_channels;
> 
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ivo van Doorn - Dec. 3, 2011, 11:46 a.m.
On Tue, Nov 29, 2011 at 10:08 PM, Thomas Meyer <thomas@m3y3r.de> wrote:
> The advantage of kcalloc is, that will prevent integer overflows which could
> result from the multiplication of number of elements and size and it is also
> a bit nicer to read.
>
> The semantic patch that makes this change is available
> in https://lkml.org/lkml/2011/11/25/107
>
> Signed-off-by: Thomas Meyer <thomas@m3y3r.de>

Acked-by: Ivo van Doorn <IvDoorn@gmail.com>

> ---
>
> diff -u -p a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
> --- a/drivers/net/wireless/rt2x00/rt2x00dev.c 2011-11-28 19:36:47.770108588 +0100
> +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c 2011-11-28 19:54:53.495525543 +0100
> @@ -831,11 +831,11 @@ static int rt2x00lib_probe_hw_modes(stru
>        if (spec->supported_rates & SUPPORT_RATE_OFDM)
>                num_rates += 8;
>
> -       channels = kzalloc(sizeof(*channels) * spec->num_channels, GFP_KERNEL);
> +       channels = kcalloc(spec->num_channels, sizeof(*channels), GFP_KERNEL);
>        if (!channels)
>                return -ENOMEM;
>
> -       rates = kzalloc(sizeof(*rates) * num_rates, GFP_KERNEL);
> +       rates = kcalloc(num_rates, sizeof(*rates), GFP_KERNEL);
>        if (!rates)
>                goto exit_free_channels;
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff -u -p a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c 2011-11-28 19:36:47.770108588 +0100
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c 2011-11-28 19:54:53.495525543 +0100
@@ -831,11 +831,11 @@  static int rt2x00lib_probe_hw_modes(stru
 	if (spec->supported_rates & SUPPORT_RATE_OFDM)
 		num_rates += 8;
 
-	channels = kzalloc(sizeof(*channels) * spec->num_channels, GFP_KERNEL);
+	channels = kcalloc(spec->num_channels, sizeof(*channels), GFP_KERNEL);
 	if (!channels)
 		return -ENOMEM;
 
-	rates = kzalloc(sizeof(*rates) * num_rates, GFP_KERNEL);
+	rates = kcalloc(num_rates, sizeof(*rates), GFP_KERNEL);
 	if (!rates)
 		goto exit_free_channels;