linux/net/tipc
Ying Xue fb9962f3ce tipc: ensure all name sequences are properly protected with its lock
TIPC internally created a name table which is used to store name
sequences. Now there is a read-write lock - tipc_nametbl_lock to
protect the table, and each name sequence saved in the table is
protected with its private lock. When a name sequence is inserted
or removed to or from the table, its members might need to change.
Therefore, in normal case, the two locks must be held while TIPC
operates the table. However, there are still several places where
we only hold tipc_nametbl_lock without proprerly obtaining name
sequence lock, which might cause the corruption of name sequence.

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:56 -05:00
..
addr.c
addr.h
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
config.h
core.c
core.h tipc: eliminate two pseudo message types of BUNDLE_OPEN and BUNDLE_CLOSED 2014-11-26 12:30:17 -05:00
discover.c
discover.h
eth_media.c
ib_media.c
Kconfig
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
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: ensure all name sequences are properly protected with its lock 2014-12-08 20:39:56 -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
server.h
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
subscr.h
sysctl.c