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>
This commit is contained in:
Родитель
e83728c7b0
Коммит
84b07c1638
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче