Re: [PATCH] net: Initialize all members in skb_gro_remcsum_init()

From: Tom Herbert
Date: Wed Feb 18 2015 - 10:28:32 EST


On Wed, Feb 18, 2015 at 2:38 AM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> 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@xxxxxxxxxx>

> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> ---
> 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 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/