aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_minisocks.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
-rw-r--r--net/ipv4/tcp_minisocks.c13
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}
394EXPORT_SYMBOL(tcp_openreq_init_rwin); 394EXPORT_SYMBOL(tcp_openreq_init_rwin);
395 395
396static inline void TCP_ECN_openreq_child(struct tcp_sock *tp, 396static 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