bpf: silence uninitialized var warning in bpf_skb_net_grow
authorWillem de Bruijn <willemb@google.com>
Sat, 23 Mar 2019 16:23:07 +0000 (12:23 -0400)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 24 Mar 2019 22:31:57 +0000 (15:31 -0700)
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>
net/core/filter.c

index 0a972fbf60df591bb53943d83f74113df9c7b82e..22eb2edf55734f2f4db3e72d636aad90c1de4000 100644 (file)
@@ -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)) {