skb_cow - copy header of skb when it is required
int skb_cow(struct sk_buff * skb, unsigned int headroom);
If the skb passed lacks sufficient headroom or its data part is shared, data is reallocated. If reallocation fails, an error is returned and original skb is not changed.
The result is skb with writable area skb->head...skb->tail and at least headroom of space at head.
|January 2017||Kernel Hackers Manual 4.8.|