linux/net/tipc
Ying Xue 5492390a94 tipc: simplify relationship between name table lock and node lock
When tipc name sequence is published, name table lock is released
before name sequence buffer is delivered to remote nodes through its
underlying unicast links. However, when name sequence is withdrawn,
the name table lock is held until the transmission of the removal
message of name sequence is finished. During the process, node lock
is nested in name table lock. To prevent node lock from being nested
in name table lock, while withdrawing name, we should adopt the same
locking policy of publishing name sequence: name table lock should
be released before message is sent.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Reviewed-by: Erik Hugne <erik.hugne@ericsson.com>
Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Tested-by: Erik Hugne <erik.hugne@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-12-08 20:39:57 -05:00
..
addr.c tipc: compress out gratuitous extra carriage returns 2012-04-30 15:53:56 -04:00
addr.h tipc: explicitly include core.h in addr.h 2014-02-13 17:49:13 -05:00
bcast.c tipc: use generic SKB list APIs to manage TIPC outgoing packet chains 2014-11-26 12:30:17 -05:00
bcast.h tipc: use generic SKB list APIs to manage TIPC outgoing packet chains 2014-11-26 12:30:17 -05:00
bearer.c tipc: fix sparse warnings in new nl api 2014-11-24 16:10:23 -05:00
bearer.h tipc: use generic SKB list APIs to manage link receive queue 2014-11-26 12:30:17 -05:00
config.c tipc: use registry when scanning sockets 2014-08-23 11:18:34 -07:00
config.h tipc: obsolete the remote management feature 2014-03-27 13:08:36 -04:00
core.c tipc: remove files ref.h and ref.c 2014-08-23 11:18:35 -07:00
core.h tipc: eliminate two pseudo message types of BUNDLE_OPEN and BUNDLE_CLOSED 2014-11-26 12:30:17 -05:00
discover.c tipc: clean up neigbor discovery message reception 2014-05-14 15:19:48 -04:00
discover.h tipc: fix race in disc create/delete 2014-04-22 21:17:53 -04:00
eth_media.c tipc: improve and extend media address conversion functions 2014-05-14 15:19:48 -04:00
ib_media.c tipc: improve and extend media address conversion functions 2014-05-14 15:19:48 -04:00
Kconfig tipc: add InfiniBand media type 2013-04-17 14:18:33 -04:00
link.c tipc: use generic SKB list APIs to manage TIPC outgoing packet chains 2014-11-26 12:30:17 -05:00
link.h tipc: use generic SKB list APIs to manage TIPC outgoing packet chains 2014-11-26 12:30:17 -05:00
log.c tipc: remove print_buf and deprecated log buffer code 2012-07-13 19:34:43 -04:00
Makefile tipc: remove node subscription infrastructure 2014-11-26 12:30:16 -05:00
msg.c tipc: use generic SKB list APIs to manage TIPC outgoing packet chains 2014-11-26 12:30:17 -05:00
msg.h tipc: use generic SKB list APIs to manage TIPC outgoing packet chains 2014-11-26 12:30:17 -05:00
name_distr.c tipc: make name table allocated dynamically 2014-12-08 20:39:56 -05:00
name_distr.h tipc: remove node subscription infrastructure 2014-11-26 12:30:16 -05:00
name_table.c tipc: simplify relationship between name table lock and node lock 2014-12-08 20:39:57 -05:00
name_table.h tipc: make name table allocated dynamically 2014-12-08 20:39:56 -05:00
net.c tipc: add net set to new netlink api 2014-11-21 15:01:31 -05:00
net.h tipc: add net set to new netlink api 2014-11-21 15:01:31 -05:00
netlink.c tipc: add name table dump to new netlink api 2014-11-21 15:01:32 -05:00
netlink.h tipc: add publication dump to new netlink api 2014-11-21 15:01:30 -05:00
node.c tipc: use generic SKB list APIs to manage deferred queue of link 2014-11-26 12:30:17 -05:00
node.h tipc: use generic SKB list APIs to manage deferred queue of link 2014-11-26 12:30:17 -05:00
server.c net: Fix use after free by removing length arg from sk_data_ready callbacks. 2014-04-11 16:15:36 -04:00
server.h tipc: remove all enabled flags from all tipc components 2014-02-22 00:00:15 -05:00
socket.c tipc: use generic SKB list APIs to manage TIPC outgoing packet chains 2014-11-26 12:30:17 -05:00
socket.h tipc: add publication dump to new netlink api 2014-11-21 15:01:30 -05:00
subscr.c tipc: remove include file port.h 2014-08-23 11:18:35 -07:00
subscr.h tipc: cosmetic realignment of function arguments 2013-06-17 15:53:01 -07:00
sysctl.c tipc: add name distributor resiliency queue 2014-09-01 17:51:48 -07:00