- struct sk_buff * skb_unshare(struct sk_buff * skb, gfp_t pri);
- buffer to check
- priority for memory allocation
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.