diff options
author | Allan Stephens <allan.stephens@windriver.com> | 2011-10-26 11:41:45 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2012-02-06 16:59:17 -0500 |
commit | 57732560d1aa7d454d10e557f8959d19d1454174 (patch) | |
tree | ce7f71d73e387c3ef9fbf4e4896d7343323f5d45 /net | |
parent | 47361c87c504d89f1ba50b4230d56ef67792c258 (diff) | |
download | op-kernel-dev-57732560d1aa7d454d10e557f8959d19d1454174.zip op-kernel-dev-57732560d1aa7d454d10e557f8959d19d1454174.tar.gz |
tipc: Add missing broadcast link lock when sending NACK
Ensures that any attempt to send a NACK message over TIPC's broadcast
link has exclusive access to the link's main data structures, to prevent
interference with a simultaneous attempt to send other broadcast link
traffic (such as application-generated multicast messages).
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/tipc/bcast.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c index 8eb87b11..7342abc 100644 --- a/net/tipc/bcast.c +++ b/net/tipc/bcast.c @@ -340,8 +340,10 @@ static void bclink_send_nack(struct tipc_node *n_ptr) msg_set_bcgap_to(msg, n_ptr->bclink.gap_to); msg_set_bcast_tag(msg, tipc_own_tag); + spin_lock_bh(&bc_lock); tipc_bearer_send(&bcbearer->bearer, buf, NULL); bcl->stats.sent_nacks++; + spin_unlock_bh(&bc_lock); buf_discard(buf); /* |