- skb->h.raw = memcpy(skb->nh.raw += ah_hlen, work_buf, ihl);
- __skb_pull(skb, ah_hlen + ihl);
+ skb->nh.raw = skb_pull(skb, ah_hlen);
+ memcpy(skb->nh.raw, work_buf, iph->ihl*4);
+ skb->nh.iph->tot_len = htons(skb->len);
+ skb_pull(skb, skb->nh.iph->ihl*4);
+ skb->h.raw = skb->data;