dccp/tcp: Reset saddr on failure after inet6?_hash_connect().
[platform/kernel/linux-starfive.git] / net / dccp / ipv4.c
index 713b7b8..40640c2 100644 (file)
@@ -157,6 +157,8 @@ failure:
         * This unhashes the socket and releases the local port, if necessary.
         */
        dccp_set_state(sk, DCCP_CLOSED);
+       if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK))
+               inet_reset_saddr(sk);
        ip_rt_put(rt);
        sk->sk_route_caps = 0;
        inet->inet_dport = 0;