Make sure skb is linear and writable
int skb_linearize_cow(struct sk_buff * skb);
skb
buffer to process
If there is no free memory -ENOMEM is returned, otherwise zero is returned and the old skb data released.