Skip to contentSkip to conversation

DCCP: Add check for missing sequence number in ICMPv6

PATCH New Wei Yongjun 1 participant 1 message Jul 25, 2008 Networking

lore
Share & tools
lore
#0 lore raw

PATCH v2 4/4 DCCP: Add check for missing sequence number in ICMPv6

RFC4340 said:
ICMP Datagram Too Big messages with incorrect or missing Sequence
Numbers may be ignored, or the DCCP implementation may lower the PMTU only temporarily in response.

This patch add the check for missing sequence number in ICMPv6 message.

---
 net/dccp/ipv6.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
net/dccp/ipv6.c +5 -0
index c9b32a8..bc5e305 100644
@@ -96,6 +96,11 @@ static void dccp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
 	__u64 seq;
 	struct net *net = dev_net(skb->dev);
 
+	if (skb->len < offset + __dccp_basic_hdr_len(dh)) {	
+		ICMP6_INC_STATS_BH(__in6_dev_get(skb->dev), ICMP6_MIB_INERRORS);
+		return;
+	}
+
 	sk = inet6_lookup(net, &dccp_hashinfo,
 			&hdr->daddr, dh->dccph_dport,
 			&hdr->saddr, dh->dccph_sport, inet6_iif(skb));