diff options
Diffstat (limited to 'net/tipc')
| -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,  		}  		info = sseq->info; + +		/* Check if an identical publication already exists */ +		list_for_each_entry(publ, &info->zone_list, zone_list) { +			if ((publ->ref == port) && (publ->key == key) && +			    (!publ->node || (publ->node == node))) +				return NULL; +		}  	} else {  		u32 inspos;  		struct sub_seq *freesseq; | 
