From: Pravin B Shelar <pshelar@nicira.com>
Date: Thu, 30 Oct 2014 07:49:57 +0000 (-0700)
Subject: mpls: Fix mpls_gso handler.
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f7065f4bd3fe4ad6bf7e49ba7c68baa2c7046146;p=linux.git

mpls: Fix mpls_gso handler.

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>
---

diff --git a/net/mpls/mpls_gso.c b/net/mpls/mpls_gso.c
index f0f5309a2d726..e3545f21a099b 100644
--- a/net/mpls/mpls_gso.c
+++ b/net/mpls/mpls_gso.c
@@ -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;
 }