X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fipv6%2Fxfrm6_output.c;h=c9c07227e49dfc771e66b0d54edb484df7401666;hb=a9fdee76789476a10f923f9fb3c84993042da3ac;hp=b06b11c960bbcac0b25cf809c386f89233e16f2d;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/net/ipv6/xfrm6_output.c b/net/ipv6/xfrm6_output.c index b06b11c96..c9c07227e 100644 --- a/net/ipv6/xfrm6_output.c +++ b/net/ipv6/xfrm6_output.c @@ -91,14 +91,16 @@ static int xfrm6_tunnel_check_size(struct sk_buff *skb) return ret; } -int xfrm6_output(struct sk_buff *skb) +int xfrm6_output(struct sk_buff **pskb) { + struct sk_buff *skb = *pskb; struct dst_entry *dst = skb->dst; struct xfrm_state *x = dst->xfrm; int err; if (skb->ip_summed == CHECKSUM_HW) { - err = skb_checksum_help(skb, 0); + err = skb_checksum_help(pskb, 0); + skb = *pskb; if (err) goto error_nolock; }