icmpv6_filter: allow ICMPv6 messages with bodies < 4 bytes
authorWerner Almesberger <werner@almesberger.net>
Fri, 2 Aug 2013 13:51:34 +0000 (10:51 -0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Aug 2013 22:15:50 +0000 (15:15 -0700)
commitd1c53c8e870cdedb6fc9550f41c558bab45b5219
treeb740b4b81c96ec056aec738cb59ed5c003d329a2
parent9cc08af3a1d9d1687cb2ad6063ac1552ec2f695a
icmpv6_filter: allow ICMPv6 messages with bodies < 4 bytes

By using sizeof(_hdr), net/ipv6/raw.c:icmpv6_filter implicitly assumes
that any valid ICMPv6 message is at least eight bytes long, i.e., that
the message body is at least four bytes.

The DIS message of RPL (RFC 6550 section 6.2, from the 6LoWPAN world),
has a minimum length of only six bytes, and is thus blocked by
icmpv6_filter.

RFC 4443 seems to allow even a zero-sized body, making the minimum
allowable message size four bytes.

Signed-off-by: Werner Almesberger <werner@almesberger.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/raw.c