diff options
author | Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com> | 2016-11-01 14:02:39 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-11-01 11:53:24 -0400 |
commit | 87227fe7e42060af9bc8977fc17427e7c9cadb5d (patch) | |
tree | fd48b034aa83f676a168d48f21de8c980c58dfd5 /net | |
parent | aeda16b6aec88b8b0135d678281e2f20fc9258e6 (diff) | |
download | linux-stable-87227fe7e42060af9bc8977fc17427e7c9cadb5d.tar.gz linux-stable-87227fe7e42060af9bc8977fc17427e7c9cadb5d.tar.bz2 linux-stable-87227fe7e42060af9bc8977fc17427e7c9cadb5d.zip |
tipc: remove tsk->connected for connectionless sockets
Until now, for connectionless sockets the peer information during
connect is stored in tsk->peer and a connection state is set in
tsk->connected. This is redundant.
In this commit, for connectionless sockets we update:
- __tipc_sendmsg(), when the destination is NULL the peer existence
is determined by tsk->peer.family, instead of tsk->connected.
- tipc_connect(), remove set/unset of tsk->connected.
Hence tsk->connected is no longer used for connectionless sockets.
There is no functional change in this commit.
Acked-by: Ying Xue <ying.xue@windriver.com>
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/tipc/socket.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 0546556d3517..524abe47560d 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -902,7 +902,7 @@ static int __tipc_sendmsg(struct socket *sock, struct msghdr *m, size_t dsz) if (dsz > TIPC_MAX_USER_MSG_SIZE) return -EMSGSIZE; if (unlikely(!dest)) { - if (tsk->connected && sock->state == SS_READY) + if (sock->state == SS_READY && tsk->peer.family == AF_TIPC) dest = &tsk->peer; else return -EDESTADDRREQ; @@ -1939,12 +1939,10 @@ static int tipc_connect(struct socket *sock, struct sockaddr *dest, if (sock->state == SS_READY) { if (dst->family == AF_UNSPEC) { memset(&tsk->peer, 0, sizeof(struct sockaddr_tipc)); - tsk->connected = 0; } else if (destlen != sizeof(struct sockaddr_tipc)) { res = -EINVAL; } else { memcpy(&tsk->peer, dest, destlen); - tsk->connected = 1; } goto exit; } |