Eric Dumazet ba34e6d9d3 tcp: make sure skb is not shared before using skb_get()
IPv6 can keep a copy of SYN message using skb_get() in
tcp_v6_conn_request() so that caller wont free the skb when calling
kfree_skb() later.

Therefore TCP fast open has to clone the skb it is queuing in
child->sk_receive_queue, as all skbs consumed from receive_queue are
freed using __kfree_skb() (ie assuming skb->users == 1)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Fixes: 5b7ed0892f2af ("tcp: move fastopen functions to tcp_fastopen.c")
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-02-13 07:11:40 -08:00
..
2014-09-18 10:54:36 +02:00
2014-11-06 15:11:10 -05:00
2015-01-31 17:48:18 -08:00
2013-12-29 16:34:25 -05:00
2013-10-08 23:19:24 -04:00
2015-02-02 18:46:51 -08:00
2014-02-19 11:41:25 +01:00
2015-01-28 22:18:37 -08:00
2014-09-01 18:12:45 -07:00
2014-09-01 18:12:45 -07:00
2014-09-01 18:12:45 -07:00
2014-09-01 18:12:45 -07:00
2014-09-01 18:12:45 -07:00
2014-11-05 23:52:33 -08:00
2014-09-01 18:12:45 -07:00
2015-01-28 22:18:37 -08:00
2014-09-01 18:12:45 -07:00
2015-01-28 22:18:37 -08:00
2015-01-28 22:18:37 -08:00
2012-03-11 23:42:51 -07:00
2015-01-05 22:44:46 -05:00
2014-05-23 16:28:53 -04:00
2013-05-31 17:19:05 -07:00