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-20 21:22:30 -04:00
2012-04-02 04:33:44 -04:00
2012-04-20 21:22:30 -04:00
2012-04-15 12:44:40 -04:00
2012-04-23 23:15:17 -04:00
2012-04-18 09:54:02 +02:00
2012-04-09 15:47:49 -04:00
2012-04-30 13:30:56 -04:00
2012-04-15 12:44:40 -04:00
2012-04-16 21:08:18 +02:00
2012-04-27 00:03:34 -04:00
2012-05-01 09:39:48 -04:00
2012-04-25 19:47:17 -04:00
2012-04-20 21:22:30 -04:00
2012-04-20 21:22:29 -04:00
2012-04-15 12:44:40 -04:00
2011-11-29 00:21:36 -05:00
2012-04-21 15:52:25 -04:00
2012-04-15 12:44:40 -04:00
2012-04-26 06:01:09 -04:00
2012-05-02 21:11:11 -04:00
2012-05-01 09:30:55 -04:00
2012-04-20 21:22:30 -04:00
2012-04-20 21:22:30 -04:00
2012-03-22 18:15:32 -07:00
2012-04-15 12:44:40 -04:00
2012-05-01 09:30:55 -04:00
2012-03-28 18:30:03 +01:00
2012-04-23 22:28:28 -04:00
2012-04-26 15:03:48 -04:00
2012-04-21 15:52:25 -04:00
2012-03-22 19:29:57 -04:00
2012-04-24 00:35:14 -04:00
2012-04-20 21:22:30 -04:00
2012-04-18 14:27:48 -04:00
2012-04-15 12:44:40 -04:00
2012-04-21 16:36:42 -04:00
2012-04-20 21:22:30 -04:00
2012-04-21 15:52:25 -04:00
2012-03-11 14:27:37 -04:00
2012-04-20 21:22:30 -04:00
2012-04-15 12:44:40 -04:00
2012-05-01 09:39:48 -04:00
2012-04-23 22:28:28 -04:00
2012-04-21 15:52:25 -04:00
2012-04-30 15:53:56 -04:00
2012-04-25 20:46:59 -04:00
2011-11-07 13:27:30 -05:00
2012-04-15 12:44:40 -04:00
2012-04-26 15:03:48 -04:00
2012-04-23 22:28:28 -04:00
2012-04-20 21:22:30 -04:00
2012-04-15 12:44:40 -04:00
2011-12-03 09:35:17 -08:00
2011-12-03 09:35:17 -08:00
2012-04-21 16:24:20 -04:00
2012-04-20 21:22:30 -04:00