ipv6/exthdrs: accept tlv which includes only padding
authorJiri Pirko <jiri@resnulli.us>
Fri, 6 Sep 2013 14:02:25 +0000 (16:02 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Sep 2013 19:52:27 +0000 (15:52 -0400)
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>
net/ipv6/exthdrs.c

index 07a7d65..8d67900 100644 (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;