OSDN Git Service

tcp: Cleanup duplicate initialization of sk->sk_state.
authorKuniyuki Iwashima <kuni1840@gmail.com>
Tue, 10 Dec 2019 02:41:48 +0000 (02:41 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Dec 2019 01:33:29 +0000 (17:33 -0800)
When a TCP socket is created, sk->sk_state is initialized twice as
TCP_CLOSE in sock_init_data() and tcp_init_sock(). The tcp_init_sock() is
always called after the sock_init_data(), so it is not necessary to update
sk->sk_state in the tcp_init_sock().

Before v2.1.8, the code of the two functions was in the inet_create(). In
the patch of v2.1.8, the tcp_v4/v6_init_sock() were added and the code of
initialization of sk->state was duplicated.

Signed-off-by: Kuniyuki Iwashima <kuni1840@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c

index 8a39ee7..09e2cae 100644 (file)
@@ -443,8 +443,6 @@ void tcp_init_sock(struct sock *sk)
        tp->tsoffset = 0;
        tp->rack.reo_wnd_steps = 1;
 
-       sk->sk_state = TCP_CLOSE;
-
        sk->sk_write_space = sk_stream_write_space;
        sock_set_flag(sk, SOCK_USE_WRITE_QUEUE);