kernels/linux-2.4.0/include/linux/skbuff.h
/**
 *	skb_unshare - make a copy of a shared buffer
 *	@skb: buffer to check
 *	@pri: 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.
 */
make a copy of a shared buffer
@skb: buffer to check
@pri: 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.
make a copy of a shared buffer @skb : buffer to check @pri : 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 .
static inline struct sk_buff *skb_unshare(struct sk_buff *skb, int pri)
{
	struct sk_buff *nskb;
	if(!skb_cloned(skb))
		return skb;
	nskb=skb_copy(skb, pri);
	kfree_skb(skb);		
	return nskb;
}
static inline struct sk_buff * skb_unshare ( struct sk_buff * skb , int pri ) { struct sk_buff * nskb ; if ( ! skb_cloned ( skb ) ) return skb ; nskb = skb_copy ( skb , pri ) ; kfree_skb ( skb ) ; return nskb ; }
skb_unshare - make a copy of a shared buffer
      @skb: buffer to check
      @pri: priority for memory allocation
skb_unshare - make a copy of a shared buffer @skb : buffer to check @pri : priority for memory allocation
/* Free our shared copy */