skb_unshare — make a copy of a shared buffer
| struct sk_buff * fsfuncskb_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.