aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAllan Stephens <allan.stephens@windriver.com>2008-06-04 20:28:21 -0400
committerDavid S. Miller <davem@davemloft.net>2008-06-04 20:28:21 -0400
commit84b07c1638c36ae937d4930b467001a0d22904e5 (patch)
treeec3d3cdb8ac7a8ba797aa05b163c7b328b7efd2f /net
parente83728c7b0ce92e57aa90eb4fc271a29d7a393d5 (diff)
tipc: Fix bug in connection setup via native API
This patch fixes a bug that prevented TIPC from receiving a connection setup request message on a native TIPC port. The revised connection setup logic ensures that validation of the source of a connection-based message is skipped if the port is not yet connected to a peer. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/tipc/port.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/net/tipc/port.c b/net/tipc/port.c
index 2c64ad88e3cf..0bd3e6192c43 100644
--- a/net/tipc/port.c
+++ b/net/tipc/port.c
@@ -842,13 +842,10 @@ static void port_dispatcher_sigh(void *dummy)
842 842
843 tipc_port_unlock(p_ptr); 843 tipc_port_unlock(p_ptr);
844 if (unlikely(!connected)) { 844 if (unlikely(!connected)) {
845 if (unlikely(published)) 845 if (tipc_connect2port(dref, &orig))
846 goto reject; 846 goto reject;
847 tipc_connect2port(dref,&orig); 847 } else if ((msg_origport(msg) != peer_port) ||
848 } 848 (msg_orignode(msg) != peer_node))
849 if (unlikely(msg_origport(msg) != peer_port))
850 goto reject;
851 if (unlikely(msg_orignode(msg) != peer_node))
852 goto reject; 849 goto reject;
853 if (unlikely(!cb)) 850 if (unlikely(!cb))
854 goto reject; 851 goto reject;