aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/bearer.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/bearer.c')
-rw-r--r--net/tipc/bearer.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c
index 411719feb803..f7c29af4ab81 100644
--- a/net/tipc/bearer.c
+++ b/net/tipc/bearer.c
@@ -493,8 +493,15 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
493 warn("Bearer <%s> rejected, illegal name\n", name); 493 warn("Bearer <%s> rejected, illegal name\n", name);
494 return -EINVAL; 494 return -EINVAL;
495 } 495 }
496 if (!tipc_addr_domain_valid(disc_domain) || 496 if (tipc_addr_domain_valid(disc_domain) &&
497 !tipc_in_scope(disc_domain, tipc_own_addr)) { 497 (disc_domain != tipc_own_addr)) {
498 if (tipc_in_scope(disc_domain, tipc_own_addr)) {
499 disc_domain = tipc_own_addr & TIPC_CLUSTER_MASK;
500 res = 0; /* accept any node in own cluster */
501 } else if (in_own_cluster(disc_domain))
502 res = 0; /* accept specified node in own cluster */
503 }
504 if (res) {
498 warn("Bearer <%s> rejected, illegal discovery domain\n", name); 505 warn("Bearer <%s> rejected, illegal discovery domain\n", name);
499 return -EINVAL; 506 return -EINVAL;
500 } 507 }