From: Allan Stephens Date: Thu, 5 Jun 2008 00:28:21 +0000 (-0700) Subject: tipc: Fix bug in connection setup via native API X-Git-Tag: v2.6.27-rc1~969^2~366 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=84b07c1638c36ae937d4930b467001a0d22904e5;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: David S. Miller --- diff --git a/net/tipc/port.c b/net/tipc/port.c index 2c64ad88e3c..0bd3e6192c4 100644 --- a/net/tipc/port.c +++ b/net/tipc/port.c @@ -842,13 +842,10 @@ static void port_dispatcher_sigh(void *dummy) tipc_port_unlock(p_ptr); if (unlikely(!connected)) { - if (unlikely(published)) + if (tipc_connect2port(dref, &orig)) goto reject; - tipc_connect2port(dref,&orig); - } - if (unlikely(msg_origport(msg) != peer_port)) - goto reject; - if (unlikely(msg_orignode(msg) != peer_node)) + } else if ((msg_origport(msg) != peer_port) || + (msg_orignode(msg) != peer_node)) goto reject; if (unlikely(!cb)) goto reject;