diff --git a/[refs] b/[refs] index 67898298466c..4b275c0a149d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d88dca79d3852a3623f606f781e013d61486828a +refs/heads/master: de5865714621e23d65c52955ca2125dbb074c242 diff --git a/trunk/net/tipc/link.c b/trunk/net/tipc/link.c index 6f50f6423f63..1a7e4665af80 100644 --- a/trunk/net/tipc/link.c +++ b/trunk/net/tipc/link.c @@ -1882,6 +1882,15 @@ void tipc_recv_msg(struct sk_buff *head, struct tipc_bearer *tb_ptr) (msg_destnode(msg) != tipc_own_addr))) goto cont; + /* Discard non-routeable messages destined for another node */ + + if (unlikely(!msg_isdata(msg) && + (msg_destnode(msg) != tipc_own_addr))) { + if ((msg_user(msg) != CONN_MANAGER) && + (msg_user(msg) != MSG_FRAGMENTER)) + goto cont; + } + /* Locate unicast link endpoint that should handle message */ n_ptr = tipc_node_find(msg_prevnode(msg));