]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit631239f02941b4004aaaea13adacde2372d3fcad
treea7a23af86a8241f09cff1602786bd7e26a120d17
parent9e584da8b112624469105ef1adf5044c853fb7d2
ipv6: fix incorrent ipv6 ipsec packet fragment

Since commit c15bf297(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