diff options
Diffstat (limited to 'net/ipv4/tcp.c')
| -rw-r--r-- | net/ipv4/tcp.c | 3 | 
1 files changed, 1 insertions, 2 deletions
| diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index bbb3d39c69af..2bb28bfd83bf 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -3012,8 +3012,7 @@ int tcp_disconnect(struct sock *sk, int flags)  	icsk->icsk_ack.rcv_mss = TCP_MIN_MSS;  	memset(&tp->rx_opt, 0, sizeof(tp->rx_opt));  	__sk_dst_reset(sk); -	dst_release(sk->sk_rx_dst); -	sk->sk_rx_dst = NULL; +	dst_release(xchg((__force struct dst_entry **)&sk->sk_rx_dst, NULL));  	tcp_saved_syn_free(tp);  	tp->compressed_ack = 0;  	tp->segs_in = 0; |