ipv6/exthdrs: accept tlv which includes only padding

[ Upstream commit 8112b1fe071be01a28a774ed55909e6f4b29712d ]

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:
9b905fe684 "ipv6/exthdrs: strict Pad1 and PadN check"

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jiri Pirko 2013-09-06 16:02:25 +02:00 committed by Greg Kroah-Hartman
parent a4ae4c6176
commit 711b8c9684

View File

@ -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;