Message ID | 1496415746.5031.6.camel@edumazet-glaptop3.roam.corp.google.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Fri, 02 Jun 2017 08:02:26 -0700 > From: Eric Dumazet <edumazet@google.com> > > 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> Applied, thanks Eric.
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index 82dec8825d28fe01f2dc4172e3e6d4d0d70fd785..a3fa1a5b6d98eb1502ada67bf5d63b12f199c640 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c @@ -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);