Merge tag 'for-linus-v3.8-rc4' of git://oss.sgi.com/xfs/xfs
[firefly-linux-kernel-4.4.55.git] / net / ipv4 / ip_gre.c
index 58cb627560dd21b30c8d08fb1909efd34234819b..303012adf9e6e0b442268b6f53b50ac8aea745fe 100644 (file)
@@ -912,9 +912,9 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
                /* Warning : tiph value might point to freed memory */
        }
 
-       skb_reset_transport_header(skb);
        skb_push(skb, gre_hlen);
        skb_reset_network_header(skb);
+       skb_set_transport_header(skb, sizeof(*iph));
        memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
        IPCB(skb)->flags &= ~(IPSKB_XFRM_TUNNEL_SIZE | IPSKB_XFRM_TRANSFORMED |
                              IPSKB_REROUTED);