aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/sit.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/sit.c')
-rw-r--r--net/ipv6/sit.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
index cfba99b2c2a4..98fe53694a65 100644
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -592,15 +592,10 @@ out:
592 592
593static int ipip6_rcv(struct sk_buff *skb) 593static int ipip6_rcv(struct sk_buff *skb)
594{ 594{
595 const struct iphdr *iph; 595 const struct iphdr *iph = ip_hdr(skb);
596 struct ip_tunnel *tunnel; 596 struct ip_tunnel *tunnel;
597 int err; 597 int err;
598 598
599 if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))
600 goto out;
601
602 iph = ip_hdr(skb);
603
604 tunnel = ipip6_tunnel_lookup(dev_net(skb->dev), skb->dev, 599 tunnel = ipip6_tunnel_lookup(dev_net(skb->dev), skb->dev,
605 iph->saddr, iph->daddr); 600 iph->saddr, iph->daddr);
606 if (tunnel != NULL) { 601 if (tunnel != NULL) {