Skip to contentSkip to conversation

geneve: testing the wrong variable in geneve6_build_skb()

PATCH Applied Dan Carpenter 3 participants 3 messages Apr 19, 2016 – Apr 21, 2016

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 geneve: testing the wrong variable in geneve6_build_skb()

We intended to test "err" and not "skb".

Fixes aed069df099c ('ip_tunnel_core: iptunnel_handle_offloads returns int and doesn't free skb')
drivers/net/geneve.c +1 -1
index efbc7ce..512dbe0 100644
@@ -733,7 +733,7 @@ static int geneve6_build_skb(struct dst_entry *dst, struct sk_buff *skb,
 		goto free_dst;
 
 	err = udp_tunnel_handle_offloads(skb, udp_sum);
-	if (IS_ERR(skb))
+	if (err)
 		goto free_dst;
 
 	gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + opt_len);
Acked-by on v1 1/1
#1 lore raw
Quoted 10 lines · Dan Carpenter

We intended to test "err" and not "skb".

Fixes aed069df099c ('ip_tunnel_core: iptunnel_handle_offloads returns int and doesn't free skb')
drivers/net/geneve.c +0 -0
index efbc7ce..512dbe0 100644

drivers/net/geneve.c static int geneve6_build_skb(struct dst_entry *dst, struct sk_buff *skb, · line 739

Quoted 8 lines
drivers/net/geneve.c +1 -1
@@ -733,7 +733,7 @@ static int geneve6_build_skb(struct dst_entry *dst, struct sk_buff *skb,
                goto free_dst;
 
        err = udp_tunnel_handle_offloads(skb, udp_sum);
-       if (IS_ERR(skb))
+       if (err)
                goto free_dst;
 
        gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + opt_len);

Yeah, this looks like I missed a spot. Thanks for catching this.