diff options
-rw-r--r-- | net/tipc/name_table.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/tipc/name_table.c b/net/tipc/name_table.c index 1196f050e334..c2224f98e64f 100644 --- a/net/tipc/name_table.c +++ b/net/tipc/name_table.c | |||
@@ -268,6 +268,13 @@ static struct publication *tipc_nameseq_insert_publ(struct name_seq *nseq, | |||
268 | } | 268 | } |
269 | 269 | ||
270 | info = sseq->info; | 270 | info = sseq->info; |
271 | |||
272 | /* Check if an identical publication already exists */ | ||
273 | list_for_each_entry(publ, &info->zone_list, zone_list) { | ||
274 | if ((publ->ref == port) && (publ->key == key) && | ||
275 | (!publ->node || (publ->node == node))) | ||
276 | return NULL; | ||
277 | } | ||
271 | } else { | 278 | } else { |
272 | u32 inspos; | 279 | u32 inspos; |
273 | struct sub_seq *freesseq; | 280 | struct sub_seq *freesseq; |