ipv6: fix incorrent ipv6 ipsec packet fragment
authorGao feng <gaofeng@cn.fujitsu.com>
Mon, 19 Mar 2012 22:36:10 +0000 (22:36 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Mar 2012 09:39:34 +0000 (05:39 -0400)
commit1f85851e17b64cabd089a8a8839dddebc627948c
treea7a23af86a8241f09cff1602786bd7e26a120d17
parent5c473ed26dba609622c9a625f896f8f59d86066c
ipv6: fix incorrent ipv6 ipsec packet fragment

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

Fix this by reserve headroom for dst_exthdrlen.

Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_output.c