Subject: Re: [PATCH] ipv6: fix incorrent ipv6 ipsec packet fragment

From: Steffen Klassert <[email-masked]>
Date: Mon, 19 Mar 2012 09:02:20 +0100

On Fri, Mar 16, 2012 at 04:57:15PM +0800, Gao feng wrote:
> Since commit 299b0767(ipv6: Fix IPsec slowpath fragmentation problem)
> In func ip6_append_data,after call skb_put(skb, fraglen + dst_exthdrlen)
> the skb->len contains dst_exthdrlen,and we don't reduce dst_exthdrlen at last
> This will make fraggap>0 in next "while cycle",and cause the size of skb incorrent

Good catch!

> 
> Call skb_pull reduce skb->len before next "while cycle"

I think it would be better to just reserve headroom for
dst_exthdrlen instead of adding and removing data to/from
the skb.