net: Stop decapitating clones that have a head_frag
authorAlexander Duyck <alexander.h.duyck@intel.com>
Wed, 2 May 2012 18:18:42 +0000 (18:18 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 3 May 2012 05:34:37 +0000 (01:34 -0400)
commit2996d31f9f292cce67cd9105dc0a4a5ee43d2f14
tree4368e35e13d083a40530c88de554de8d88c0aa41
parentb081f85c2977b1cbb6e635d53d9512f1ef985972
net: Stop decapitating clones that have a head_frag

This change is meant ot prevent stealing the skb->head to use as a page in
the event that the skb->head was cloned.  This allows the other clones to
track each other via shinfo->dataref.

Without this we break down to two methods for tracking the reference count,
one being dataref, the other being the page count.  As a result it becomes
difficult to track how many references there are to skb->head.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c
net/ipv4/tcp_input.c