diff options
| author | H. Peter Anvin <hpa@zytor.com> | 2010-04-29 16:53:17 -0700 |
|---|---|---|
| committer | H. Peter Anvin <hpa@zytor.com> | 2010-04-29 16:53:17 -0700 |
| commit | d9c5841e22231e4e49fd0a1004164e6fce59b7a6 (patch) | |
| tree | e1f589c46b3ff79bbe7b1b2469f6362f94576da6 /net/tipc/link.c | |
| parent | b701a47ba48b698976fb2fe05fb285b0edc1d26a (diff) | |
| parent | 5967ed87ade85a421ef814296c3c7f182b08c225 (diff) | |
Merge branch 'x86/asm' into x86/atomic
Merge reason:
Conflict between LOCK_PREFIX_HERE and relative alternatives
pointers
Resolved Conflicts:
arch/x86/include/asm/alternative.h
arch/x86/kernel/alternative.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'net/tipc/link.c')
| -rw-r--r-- | net/tipc/link.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c index 6f50f6423f6..1a7e4665af8 100644 --- a/net/tipc/link.c +++ b/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)); |
