tipc: fix RDM/DGRAM connect() regression
authorErik Hugne <erik.hugne@gmail.com>
Mon, 4 Mar 2019 22:26:10 +0000 (23:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Mar 2019 20:49:13 +0000 (12:49 -0800)
Fix regression bug introduced in
commit 365ad353c256 ("tipc: reduce risk of user starvation during link
congestion")

Only signal -EDESTADDRREQ for RDM/DGRAM if we don't have a cached
sockaddr.

Fixes: 365ad353c256 ("tipc: reduce risk of user starvation during link congestion")
Signed-off-by: Erik Hugne <erik.hugne@gmail.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/socket.c

index e482b342bfa8a0d6c8686c65fdb24db72b15c3aa..3274ef625dba1b3417405d8537b4b30e919d44d1 100644 (file)
@@ -1333,7 +1333,7 @@ static int __tipc_sendmsg(struct socket *sock, struct msghdr *m, size_t dlen)
 
        if (unlikely(!dest)) {
                dest = &tsk->peer;
-               if (!syn || dest->family != AF_TIPC)
+               if (!syn && dest->family != AF_TIPC)
                        return -EDESTADDRREQ;
        }