diff options
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 1649988bd1b6..63d2680b65db 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c | |||
@@ -232,7 +232,7 @@ kill: | |||
232 | u32 isn = tcptw->tw_snd_nxt + 65535 + 2; | 232 | u32 isn = tcptw->tw_snd_nxt + 65535 + 2; |
233 | if (isn == 0) | 233 | if (isn == 0) |
234 | isn++; | 234 | isn++; |
235 | TCP_SKB_CB(skb)->when = isn; | 235 | TCP_SKB_CB(skb)->tcp_tw_isn = isn; |
236 | return TCP_TW_SYN; | 236 | return TCP_TW_SYN; |
237 | } | 237 | } |
238 | 238 | ||
@@ -393,8 +393,8 @@ void tcp_openreq_init_rwin(struct request_sock *req, | |||
393 | } | 393 | } |
394 | EXPORT_SYMBOL(tcp_openreq_init_rwin); | 394 | EXPORT_SYMBOL(tcp_openreq_init_rwin); |
395 | 395 | ||
396 | static inline void TCP_ECN_openreq_child(struct tcp_sock *tp, | 396 | static void tcp_ecn_openreq_child(struct tcp_sock *tp, |
397 | struct request_sock *req) | 397 | const struct request_sock *req) |
398 | { | 398 | { |
399 | tp->ecn_flags = inet_rsk(req)->ecn_ok ? TCP_ECN_OK : 0; | 399 | tp->ecn_flags = inet_rsk(req)->ecn_ok ? TCP_ECN_OK : 0; |
400 | } | 400 | } |
@@ -451,9 +451,8 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, | |||
451 | newtp->snd_cwnd = TCP_INIT_CWND; | 451 | newtp->snd_cwnd = TCP_INIT_CWND; |
452 | newtp->snd_cwnd_cnt = 0; | 452 | newtp->snd_cwnd_cnt = 0; |
453 | 453 | ||
454 | if (newicsk->icsk_ca_ops != &tcp_init_congestion_ops && | 454 | if (!try_module_get(newicsk->icsk_ca_ops->owner)) |
455 | !try_module_get(newicsk->icsk_ca_ops->owner)) | 455 | tcp_assign_congestion_control(newsk); |
456 | newicsk->icsk_ca_ops = &tcp_init_congestion_ops; | ||
457 | 456 | ||
458 | tcp_set_ca_state(newsk, TCP_CA_Open); | 457 | tcp_set_ca_state(newsk, TCP_CA_Open); |
459 | tcp_init_xmit_timers(newsk); | 458 | tcp_init_xmit_timers(newsk); |
@@ -508,7 +507,7 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, | |||
508 | if (skb->len >= TCP_MSS_DEFAULT + newtp->tcp_header_len) | 507 | if (skb->len >= TCP_MSS_DEFAULT + newtp->tcp_header_len) |
509 | newicsk->icsk_ack.last_seg_size = skb->len - newtp->tcp_header_len; | 508 | newicsk->icsk_ack.last_seg_size = skb->len - newtp->tcp_header_len; |
510 | newtp->rx_opt.mss_clamp = req->mss; | 509 | newtp->rx_opt.mss_clamp = req->mss; |
511 | TCP_ECN_openreq_child(newtp, req); | 510 | tcp_ecn_openreq_child(newtp, req); |
512 | newtp->fastopen_rsk = NULL; | 511 | newtp->fastopen_rsk = NULL; |
513 | newtp->syn_data_acked = 0; | 512 | newtp->syn_data_acked = 0; |
514 | 513 | ||