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.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
index 1df6cd46066b..267cea1087e5 100644
--- a/net/ipv4/tcp_minisocks.c
+++ b/net/ipv4/tcp_minisocks.c
@@ -296,17 +296,17 @@ kill:
296 */ 296 */
297static void __tcp_tw_hashdance(struct sock *sk, struct tcp_tw_bucket *tw) 297static void __tcp_tw_hashdance(struct sock *sk, struct tcp_tw_bucket *tw)
298{ 298{
299 const struct inet_sock *inet = inet_sk(sk);
299 struct inet_ehash_bucket *ehead = &tcp_ehash[sk->sk_hashent]; 300 struct inet_ehash_bucket *ehead = &tcp_ehash[sk->sk_hashent];
300 struct inet_bind_hashbucket *bhead; 301 struct inet_bind_hashbucket *bhead;
301
302 /* Step 1: Put TW into bind hash. Original socket stays there too. 302 /* Step 1: Put TW into bind hash. Original socket stays there too.
303 Note, that any socket with inet_sk(sk)->num != 0 MUST be bound in 303 Note, that any socket with inet->num != 0 MUST be bound in
304 binding cache, even if it is closed. 304 binding cache, even if it is closed.
305 */ 305 */
306 bhead = &tcp_bhash[inet_bhashfn(inet_sk(sk)->num, tcp_bhash_size)]; 306 bhead = &tcp_bhash[inet_bhashfn(inet->num, tcp_bhash_size)];
307 spin_lock(&bhead->lock); 307 spin_lock(&bhead->lock);
308 tw->tw_tb = tcp_sk(sk)->bind_hash; 308 tw->tw_tb = inet->bind_hash;
309 BUG_TRAP(tcp_sk(sk)->bind_hash); 309 BUG_TRAP(inet->bind_hash);
310 tw_add_bind_node(tw, &tw->tw_tb->owners); 310 tw_add_bind_node(tw, &tw->tw_tb->owners);
311 spin_unlock(&bhead->lock); 311 spin_unlock(&bhead->lock);
312 312
@@ -694,6 +694,7 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req,
694 if(newsk != NULL) { 694 if(newsk != NULL) {
695 struct inet_request_sock *ireq = inet_rsk(req); 695 struct inet_request_sock *ireq = inet_rsk(req);
696 struct tcp_request_sock *treq = tcp_rsk(req); 696 struct tcp_request_sock *treq = tcp_rsk(req);
697 struct inet_sock *newinet = inet_sk(newsk);
697 struct tcp_sock *newtp; 698 struct tcp_sock *newtp;
698 struct sk_filter *filter; 699 struct sk_filter *filter;
699 700
@@ -702,10 +703,10 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req,
702 703
703 /* SANITY */ 704 /* SANITY */
704 sk_node_init(&newsk->sk_node); 705 sk_node_init(&newsk->sk_node);
705 tcp_sk(newsk)->bind_hash = NULL; 706 newinet->bind_hash = NULL;
706 707
707 /* Clone the TCP header template */ 708 /* Clone the TCP header template */
708 inet_sk(newsk)->dport = ireq->rmt_port; 709 newinet->dport = ireq->rmt_port;
709 710
710 sock_lock_init(newsk); 711 sock_lock_init(newsk);
711 bh_lock_sock(newsk); 712 bh_lock_sock(newsk);