diff mbox

net: Initialize all members in skb_gro_remcsum_init()

Message ID 1424255886-20330-1-git-send-email-geert@linux-m68k.org
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Geert Uytterhoeven Feb. 18, 2015, 10:38 a.m. UTC
skb_gro_remcsum_init() initializes the gro_remcsum.delta member only,
leading to compiler warnings about a possibly uninitialized
gro_remcsum.offset member:

drivers/net/vxlan.c: In function ‘vxlan_gro_receive’:
drivers/net/vxlan.c:602: warning: ‘grc.offset’ may be used uninitialized in this function
net/ipv4/fou.c: In function ‘gue_gro_receive’:
net/ipv4/fou.c:262: warning: ‘grc.offset’ may be used uninitialized in this function

While these are harmless for now:
  - skb_gro_remcsum_process() sets offset before changing delta,
  - skb_gro_remcsum_cleanup() checks if delta is non-zero before
    accessing offset,
it's safer to let the initialization function initialize all members.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 include/linux/netdevice.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Tom Herbert Feb. 18, 2015, 3:28 p.m. UTC | #1
On Wed, Feb 18, 2015 at 2:38 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> skb_gro_remcsum_init() initializes the gro_remcsum.delta member only,
> leading to compiler warnings about a possibly uninitialized
> gro_remcsum.offset member:
>
> drivers/net/vxlan.c: In function ‘vxlan_gro_receive’:
> drivers/net/vxlan.c:602: warning: ‘grc.offset’ may be used uninitialized in this function
> net/ipv4/fou.c: In function ‘gue_gro_receive’:
> net/ipv4/fou.c:262: warning: ‘grc.offset’ may be used uninitialized in this function
>
> While these are harmless for now:
>   - skb_gro_remcsum_process() sets offset before changing delta,
>   - skb_gro_remcsum_cleanup() checks if delta is non-zero before
>     accessing offset,
> it's safer to let the initialization function initialize all members.
>

Acked-by: Tom Herbert <therbert@google.com>

> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
>  include/linux/netdevice.h | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index 5897b4ea5a3f9e0f..429d1790a27e85f3 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -2342,6 +2342,7 @@ struct gro_remcsum {
>
>  static inline void skb_gro_remcsum_init(struct gro_remcsum *grc)
>  {
> +       grc->offset = 0;
>         grc->delta = 0;
>  }
>
> --
> 1.9.1
>
--
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
David Miller Feb. 20, 2015, 8:50 p.m. UTC | #2
From: Geert Uytterhoeven <geert@linux-m68k.org>

Date: Wed, 18 Feb 2015 11:38:06 +0100

> skb_gro_remcsum_init() initializes the gro_remcsum.delta member only,

> leading to compiler warnings about a possibly uninitialized

> gro_remcsum.offset member:

> 

> drivers/net/vxlan.c: In function ‘vxlan_gro_receive’:

> drivers/net/vxlan.c:602: warning: ‘grc.offset’ may be used uninitialized in this function

> net/ipv4/fou.c: In function ‘gue_gro_receive’:

> net/ipv4/fou.c:262: warning: ‘grc.offset’ may be used uninitialized in this function

> 

> While these are harmless for now:

>   - skb_gro_remcsum_process() sets offset before changing delta,

>   - skb_gro_remcsum_cleanup() checks if delta is non-zero before

>     accessing offset,

> it's safer to let the initialization function initialize all members.

> 

> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>


Applied, thank you.
diff mbox

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 5897b4ea5a3f9e0f..429d1790a27e85f3 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2342,6 +2342,7 @@  struct gro_remcsum {
 
 static inline void skb_gro_remcsum_init(struct gro_remcsum *grc)
 {
+	grc->offset = 0;
 	grc->delta = 0;
 }