1
0
Files
linux/include/net
Guillaume Nault 9403cf2302 tcp: free request sock directly upon TFO or syncookies error
Since the request socket is created locally, it'd make more sense to
use reqsk_free() instead of reqsk_put() in TFO and syncookies' error
path.

However, tcp_get_cookie_sock() may set ->rsk_refcnt before freeing the
socket; tcp_conn_request() may also have non-null ->rsk_refcnt because
of tcp_try_fastopen(). In both cases 'req' hasn't been exposed
to the outside world and is safe to free immediately, but that'd
trigger the WARN_ON_ONCE in reqsk_free().

Define __reqsk_free() for these situations where we know nobody's
referencing the socket, even though ->rsk_refcnt might be non-null.
Now we can consolidate the error path of tcp_get_cookie_sock() and
tcp_conn_request().

Signed-off-by: Guillaume Nault <gnault@redhat.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-03-19 14:13:01 -07:00
..
2018-09-08 01:39:47 +09:00
2018-01-19 14:02:12 -05:00
2019-02-24 21:57:26 -08:00
2018-09-18 19:55:01 -07:00
2019-02-21 16:23:56 -08:00
2019-01-23 11:18:00 -08:00
2018-09-26 20:22:19 -07:00
2018-07-30 09:10:25 -07:00
2018-02-28 11:43:28 -05:00
2018-04-23 10:21:24 -04:00
2019-02-13 21:07:47 -08:00
2017-10-11 09:49:34 +02:00
2018-11-07 23:00:23 -08:00
2017-12-11 14:10:06 -05:00
2019-02-25 14:32:35 -08:00
2018-09-13 09:04:58 -07:00
2018-04-07 22:32:31 -04:00
2017-11-08 16:12:33 +09:00
2018-09-25 20:17:35 -07:00
2017-12-05 14:37:13 -05:00
2018-05-16 07:23:35 +02:00
2018-06-22 13:43:27 +09:00
2018-12-20 16:56:04 -08:00
2019-03-03 22:10:16 -08:00
2018-08-29 12:25:53 -07:00