From: Willem de Bruijn <willemb@google.com>
Date: Sat, 23 Mar 2019 16:23:07 +0000 (-0400)
Subject: bpf: silence uninitialized var warning in bpf_skb_net_grow
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=62b31b42cff924c7d1e9a095b68ff3bbfc49b15b;p=linux.git

bpf: silence uninitialized var warning in bpf_skb_net_grow

These three variables are set in one branch and used in another with
the same condition. But on some architectures they still generate
compiler warnings of the kind:

  warning: 'inner_trans' may be used uninitialized in this function [-Wmaybe-uninitialized]

Silence these false positives. Use the straightforward approach to
always initialize them, if a bit superfluous.

Fixes: 868d523535c2 ("bpf: add bpf_skb_adjust_room encap flags")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
---

diff --git a/net/core/filter.c b/net/core/filter.c
index 0a972fbf60df5..22eb2edf55734 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -2975,8 +2975,8 @@ static int bpf_skb_net_grow(struct sk_buff *skb, u32 off, u32 len_diff,
 			    u64 flags)
 {
 	bool encap = flags & BPF_F_ADJ_ROOM_ENCAP_L3_MASK;
+	u16 mac_len = 0, inner_net = 0, inner_trans = 0;
 	unsigned int gso_type = SKB_GSO_DODGY;
-	u16 mac_len, inner_net, inner_trans;
 	int ret;
 
 	if (skb_is_gso(skb) && !skb_is_gso_tcp(skb)) {