Ying Xue 7b8613e0a1 tipc: fix a potential deadlock
Locking dependency detected below possible unsafe locking scenario:

           CPU0                          CPU1
T0:  tipc_named_rcv()                tipc_rcv()
T1:  [grab nametble write lock]*     [grab node lock]*
T2:  tipc_update_nametbl()           tipc_node_link_up()
T3:  tipc_nodesub_subscribe()        tipc_nametbl_publish()
T4:  [grab node lock]*               [grab nametble write lock]*

The opposite order of holding nametbl write lock and node lock on
above two different paths may result in a deadlock. If we move the
the updating of the name table after link state named out of node
lock, the reverse order of holding locks will be eliminated, and
as a result, the deadlock risk.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-10-21 15:28:15 -04:00
..
2014-10-15 10:25:04 +10:30
2014-08-22 12:23:11 -07:00
2014-09-30 17:08:06 -04:00
2014-09-10 12:40:10 -07:00
2014-09-28 07:05:16 -07:00
2014-10-09 01:40:05 -04:00
2014-10-17 23:52:54 -04:00
2014-09-07 16:07:25 -07:00
2014-10-21 15:28:15 -04:00
2014-10-07 20:28:44 -04:00