Subject: Re: ipip6 - integer underrun when handlince icmpv4 unreachable messages

From: Steffen Klassert <[email-masked]>
Date: Tue, 9 Dec 2014 14:28:41 +0100

On Thu, Dec 04, 2014 at 05:22:52PM +0100, Alexander Wetzel wrote:
> Hello,
> 
> The patch works for me, thank you very much.
> 
> Rejecting the ipv4 tunel packets with icmp unreachable is producing the
> expected "Destination unreachable: Address unreachable" messages for the
> inside ipv6 client and everything works as expected. Without the call in
> sit.c to skb_reset_transport_header.
> 
> I'll continue to use the patch on my ipv6 tunnel router but I'm sure it
> works as intended.
> 
> 
> On 04.12.2014 09:56, Steffen Klassert wrote:
> > 
> > I think the easiest is to fix it in _decode_session6().
> > Could you please try the patch below?
> > 
> > Subject: [PATCH] xfrm6: Fix transport header offset in _decode_session6.
> > 
> > skb->transport_header might not be valid when we do a reverse
> > decode because the ipv6 tunnel error handlers don't update it
> > to the inner transport header. This leads to a wrong offset
> > calculation and to wrong layer 4 informations. We fix this
> > by using the size of the ipv6 header as the first offset.
> > 
> > Signed-off-by: Steffen Klassert <[email-masked]>

Thanks for testing, I've applied this to the ipsec tree now.