> incoming packet fails, result is an ICMPv6 Parameter problem
> of Unknown-Next-Header, instead of just dropping packet. This
> is because xfrm6_rcv() expects an unsigned-8-bit return value
> from the input handler, i.e. ah6_input() or esp6_input(). But handler
> returns a signed int (-EINVAL) that seems to be getting converted into
> a "u8" via 2's complement, because ah6_input() says it is returning
> -EINVAL/-22, but xfrm6_rcv() says it got a return value of 234,
> which it believes to be valid and passes to ip6_input() who thinks it is
> the next header.
>
> I modified ah6_input() and esp6_input() to return zero instead of -EINVAL
> in the fix below. I tested it and it works.
just change u8 nexthdr = 0 to int nexthdr = 0, in xfrm6_rcv() is fine,
isn't it?
-- Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org> GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/