| From db0eceeab08191e447632387f976b2000322ea7f Mon Sep 17 00:00:00 2001 |
| From: Jiri Pirko <jiri@resnulli.us> |
| Date: Fri, 6 Sep 2013 16:02:25 +0200 |
| Subject: ipv6/exthdrs: accept tlv which includes only padding |
| |
| From: Jiri Pirko <jiri@resnulli.us> |
| |
| [ 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: |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv6/exthdrs.c | 6 ------ |
| 1 file changed, 6 deletions(-) |
| |
| --- a/net/ipv6/exthdrs.c |
| +++ b/net/ipv6/exthdrs.c |
| @@ -162,12 +162,6 @@ static bool ip6_parse_tlv(const struct t |
| 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; |