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;
}