diff options
Diffstat (limited to 'net/ipv4/ipip.c')
-rw-r--r-- | net/ipv4/ipip.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 191fc24a745a..8f024d41eefa 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c | |||
@@ -472,7 +472,7 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) | |||
472 | __be16 df = tiph->frag_off; | 472 | __be16 df = tiph->frag_off; |
473 | struct rtable *rt; /* Route to the other host */ | 473 | struct rtable *rt; /* Route to the other host */ |
474 | struct net_device *tdev; /* Device to other host */ | 474 | struct net_device *tdev; /* Device to other host */ |
475 | const struct iphdr *old_iph = ip_hdr(skb); | 475 | const struct iphdr *old_iph; |
476 | struct iphdr *iph; /* Our new IP header */ | 476 | struct iphdr *iph; /* Our new IP header */ |
477 | unsigned int max_headroom; /* The extra header space needed */ | 477 | unsigned int max_headroom; /* The extra header space needed */ |
478 | __be32 dst = tiph->daddr; | 478 | __be32 dst = tiph->daddr; |
@@ -486,6 +486,8 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) | |||
486 | skb_checksum_help(skb)) | 486 | skb_checksum_help(skb)) |
487 | goto tx_error; | 487 | goto tx_error; |
488 | 488 | ||
489 | old_iph = ip_hdr(skb); | ||
490 | |||
489 | if (tos & 1) | 491 | if (tos & 1) |
490 | tos = old_iph->tos; | 492 | tos = old_iph->tos; |
491 | 493 | ||