summary refs log tree commit diff
path: root/net/ipv6/exthdrs.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2013-09-06 16:02:25 +0200
committerDavid S. Miller <davem@davemloft.net>2013-09-11 15:52:27 -0400
commit8112b1fe071be01a28a774ed55909e6f4b29712d (patch)
tree8896aabac632d13494ec3d3d13d4eddf6599c892 /net/ipv6/exthdrs.c
parent996dedbafe640aee40dc846ad634dd352b6bcd44 (diff)
downloadlinux-8112b1fe071be01a28a774ed55909e6f4b29712d.tar.gz
ipv6/exthdrs: accept tlv which includes only padding
In rfc4942 and rfc2460 I cannot find anything which would implicate to
drop packets which have only padding in tlv.

Current behaviour breaks TAHI Test v6LC.1.2.6.

Problem was intruduced in:
9b905fe6843 "ipv6/exthdrs: strict Pad1 and PadN check"

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/exthdrs.c')
-rw-r--r--net/ipv6/exthdrs.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c
index 07a7d65a7cb6..8d67900aa003 100644
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
@@ -162,12 +162,6 @@ static bool ip6_parse_tlv(const struct tlvtype_proc *procs, struct sk_buff *skb)
 		off += optlen;
 		len -= optlen;
 	}
-	/* This case will not be caught by above check since its padding
-	 * length is smaller than 7:
-	 * 1 byte NH + 1 byte Length + 6 bytes Padding
-	 */
-	if ((padlen == 6) && ((off - skb_network_header_len(skb)) == 8))
-		goto bad;
 
 	if (len == 0)
 		return true;