aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/node.c')
-rw-r--r--net/tipc/node.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index b0ee25f1f2e6..2afc4f8c37a7 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -913,6 +913,7 @@ void tipc_node_check_dest(struct net *net, u32 addr,
913 bool reset = true; 913 bool reset = true;
914 char *if_name; 914 char *if_name;
915 unsigned long intv; 915 unsigned long intv;
916 u16 session;
916 917
917 *dupl_addr = false; 918 *dupl_addr = false;
918 *respond = false; 919 *respond = false;
@@ -999,9 +1000,10 @@ void tipc_node_check_dest(struct net *net, u32 addr,
999 goto exit; 1000 goto exit;
1000 1001
1001 if_name = strchr(b->name, ':') + 1; 1002 if_name = strchr(b->name, ':') + 1;
1003 get_random_bytes(&session, sizeof(u16));
1002 if (!tipc_link_create(net, if_name, b->identity, b->tolerance, 1004 if (!tipc_link_create(net, if_name, b->identity, b->tolerance,
1003 b->net_plane, b->mtu, b->priority, 1005 b->net_plane, b->mtu, b->priority,
1004 b->window, mod(tipc_net(net)->random), 1006 b->window, session,
1005 tipc_own_addr(net), addr, peer_id, 1007 tipc_own_addr(net), addr, peer_id,
1006 n->capabilities, 1008 n->capabilities,
1007 tipc_bc_sndlink(n->net), n->bc_entry.link, 1009 tipc_bc_sndlink(n->net), n->bc_entry.link,
@@ -1625,7 +1627,6 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb,
1625 tipc_link_create_dummy_tnl_msg(l, xmitq); 1627 tipc_link_create_dummy_tnl_msg(l, xmitq);
1626 n->failover_sent = true; 1628 n->failover_sent = true;
1627 } 1629 }
1628
1629 /* If pkts arrive out of order, use lowest calculated syncpt */ 1630 /* If pkts arrive out of order, use lowest calculated syncpt */
1630 if (less(syncpt, n->sync_point)) 1631 if (less(syncpt, n->sync_point))
1631 n->sync_point = syncpt; 1632 n->sync_point = syncpt;