dccp: consistently use dccp_write_space()
authorEric Dumazet <edumazet@google.com>
Fri, 2 Jun 2017 15:02:26 +0000 (08:02 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Jun 2017 23:58:35 +0000 (19:58 -0400)
DCCP uses dccp_write_space() for sk->sk_write_space method.

Unfortunately a passive connection (as provided by accept())
is using the generic sk_stream_write_space() function.

Lets simply inherit sk->sk_write_space from the parent
instead of forcing the generic one.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/inet_connection_sock.c

index 82dec8825d28fe01f2dc4172e3e6d4d0d70fd785..a3fa1a5b6d98eb1502ada67bf5d63b12f199c640 100644 (file)
@@ -790,7 +790,6 @@ struct sock *inet_csk_clone_lock(const struct sock *sk,
                inet_sk(newsk)->inet_dport = inet_rsk(req)->ir_rmt_port;
                inet_sk(newsk)->inet_num = inet_rsk(req)->ir_num;
                inet_sk(newsk)->inet_sport = htons(inet_rsk(req)->ir_num);
-               newsk->sk_write_space = sk_stream_write_space;
 
                /* listeners have SOCK_RCU_FREE, not the children */
                sock_reset_flag(newsk, SOCK_RCU_FREE);