skb_unshare - make a copy of a shared buffer
struct sk_buff * skb_unshare(struct sk_buff * skb, gfp_t pri);
If the socket buffer is a clone then this function creates a new copy of the data, drops a reference count on the old copy and returns the new copy with the reference count at 1. If the buffer is not a clone the original buffer is returned. When called with a spinlock held or from interrupt state pri must be GFP_ATOMIC
NULL is returned on a memory allocation failure.
|January 2017||Kernel Hackers Manual 4.8.|