diff options
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 94d683a61cba..fd54c5f8a255 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -1466,9 +1466,13 @@ struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
1466 | inet_csk(newsk)->icsk_ext_hdr_len = inet_opt->opt.optlen; | 1466 | inet_csk(newsk)->icsk_ext_hdr_len = inet_opt->opt.optlen; |
1467 | newinet->inet_id = newtp->write_seq ^ jiffies; | 1467 | newinet->inet_id = newtp->write_seq ^ jiffies; |
1468 | 1468 | ||
1469 | if (!dst && (dst = inet_csk_route_child_sock(sk, newsk, req)) == NULL) | 1469 | if (!dst) { |
1470 | goto put_and_exit; | 1470 | dst = inet_csk_route_child_sock(sk, newsk, req); |
1471 | 1471 | if (!dst) | |
1472 | goto put_and_exit; | ||
1473 | } else { | ||
1474 | /* syncookie case : see end of cookie_v4_check() */ | ||
1475 | } | ||
1472 | sk_setup_caps(newsk, dst); | 1476 | sk_setup_caps(newsk, dst); |
1473 | 1477 | ||
1474 | tcp_mtup_init(newsk); | 1478 | tcp_mtup_init(newsk); |