mpls: Fix mpls_gso handler.
authorPravin B Shelar <pshelar@nicira.com>
Thu, 30 Oct 2014 07:49:57 +0000 (00:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 31 Oct 2014 19:47:21 +0000 (15:47 -0400)
mpls gso handler needs to pull skb after segmenting skb.

CC: Simon Horman <simon.horman@netronome.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mpls/mpls_gso.c

index f0f5309a2d72625d10cd16dd03210311fe6b0049..e3545f21a099b01b931cd863205a847acd336238 100644 (file)
@@ -59,8 +59,7 @@ static struct sk_buff *mpls_gso_segment(struct sk_buff *skb,
         * above pulled.  It will be re-pushed after returning
         * skb_mac_gso_segment(), an indirect caller of this function.
         */
-       __skb_push(skb, skb->data - skb_mac_header(skb));
-
+       __skb_pull(skb, skb->data - skb_mac_header(skb));
 out:
        return segs;
 }