aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/icmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/icmp.c')
-rw-r--r--net/ipv6/icmp.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c
index ed89bba745a1..5247d5c211f9 100644
--- a/net/ipv6/icmp.c
+++ b/net/ipv6/icmp.c
@@ -649,7 +649,6 @@ static int icmpv6_rcv(struct sk_buff *skb)
649 struct net_device *dev = skb->dev; 649 struct net_device *dev = skb->dev;
650 struct inet6_dev *idev = __in6_dev_get(dev); 650 struct inet6_dev *idev = __in6_dev_get(dev);
651 const struct in6_addr *saddr, *daddr; 651 const struct in6_addr *saddr, *daddr;
652 const struct ipv6hdr *orig_hdr;
653 struct icmp6hdr *hdr; 652 struct icmp6hdr *hdr;
654 u8 type; 653 u8 type;
655 654
@@ -661,7 +660,7 @@ static int icmpv6_rcv(struct sk_buff *skb)
661 XFRM_STATE_ICMP)) 660 XFRM_STATE_ICMP))
662 goto drop_no_count; 661 goto drop_no_count;
663 662
664 if (!pskb_may_pull(skb, sizeof(*hdr) + sizeof(*orig_hdr))) 663 if (!pskb_may_pull(skb, sizeof(*hdr) + sizeof(struct ipv6hdr)))
665 goto drop_no_count; 664 goto drop_no_count;
666 665
667 nh = skb_network_offset(skb); 666 nh = skb_network_offset(skb);
@@ -722,9 +721,6 @@ static int icmpv6_rcv(struct sk_buff *skb)
722 if (!pskb_may_pull(skb, sizeof(struct ipv6hdr))) 721 if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))
723 goto discard_it; 722 goto discard_it;
724 hdr = icmp6_hdr(skb); 723 hdr = icmp6_hdr(skb);
725 orig_hdr = (struct ipv6hdr *) (hdr + 1);
726 rt6_pmtu_discovery(&orig_hdr->daddr, &orig_hdr->saddr, dev,
727 ntohl(hdr->icmp6_mtu));
728 724
729 /* 725 /*
730 * Drop through to notify 726 * Drop through to notify