Eric Dumazet 923dd347b8 net: take care of cloned skbs in tcp_try_coalesce()
Before stealing fragments or skb head, we must make sure skbs are not
cloned.

Alexander was worried about destination skb being cloned : In bridge
setups, a driver could be fooled if skb->data_len would not match skb
nr_frags.

If source skb is cloned, we must take references on pages instead.

Bug happened using tcpdump (if not using mmap())

Introduce kfree_skb_partial() helper to cleanup code.

Reported-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-05-02 21:11:11 -04:00
..
2012-04-15 12:44:40 -04:00
2012-04-02 04:33:44 -04:00
2012-04-15 12:44:40 -04:00
2012-04-16 21:08:18 +02:00
2012-04-25 19:47:17 -04:00
2012-04-15 12:44:40 -04:00
2012-05-01 09:39:48 -04:00
2012-04-15 12:44:40 -04:00
2012-04-21 16:24:20 -04:00