net: Cleanup skb cloning by adding SKB_FCLONE_FREE
authorVijay Subramanian <subramanian.vijay@gmail.com>
Thu, 2 Oct 2014 17:00:43 +0000 (10:00 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 5 Oct 2014 00:34:25 +0000 (20:34 -0400)
commitc8753d55afb436fd6a25c8bbe8d783f6dcf1c9f8
tree4d0cffb662c877a9a15bdf7bb84f2db35f4c33ec
parent9fab426de78140dc5cb0b85bbee6042c9c3d5ca5
net: Cleanup skb cloning by adding SKB_FCLONE_FREE

SKB_FCLONE_UNAVAILABLE has overloaded meaning depending on type of skb.
1: If skb is allocated from head_cache, it indicates fclone is not available.
2: If skb is a companion fclone skb (allocated from fclone_cache), it indicates
it is available to be used.

To avoid confusion for case 2 above, this patch  replaces
SKB_FCLONE_UNAVAILABLE with SKB_FCLONE_FREE where appropriate. For fclone
companion skbs, this indicates it is free for use.

SKB_FCLONE_UNAVAILABLE will now simply indicate skb is from head_cache and
cannot / will not have a companion fclone.

Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
net/core/skbuff.c